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.
From-SVN: r169936
* 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.
From-SVN: r159570
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.
From-SVN: r155475
PR libffi/28313
* configure.ac: Don't treat mips64 as a special case.
* Makefile.am (nodist_libffi_la_SOURCES): Add n32.S.
* configure: Regenerate
* Makefile.in: Ditto.
* fficonfig.h.in: Ditto.
* src/mips/ffitarget.h (REG_L, REG_S, SUBU, ADDU, SRL, LI): Indent.
(LA, EH_FRAME_ALIGN, FDE_ADDR_BYTES): New preprocessor macros.
(FFI_DEFAULT_ABI): Set for n64 case.
(FFI_CLOSURES, FFI_TRAMPOLINE_SIZE): Define for n32 and n64 cases.
* src/mips/n32.S (ffi_call_N32): Add debug macros and labels for FDE.
(ffi_closure_N32): New function.
(.eh_frame): New section
* src/mips/o32.S: Clean up comments.
(ffi_closure_O32): Pass ffi_closure parameter in $12.
* src/mips/ffi.c: Use FFI_MIPS_N32 instead of
_MIPS_SIM == _ABIN32 throughout.
(FFI_MIPS_STOP_HERE): New, use in place of
ffi_stop_here.
(ffi_prep_args): Use unsigned long to hold pointer values. Rewrite
to support n32/n64 ABIs.
(calc_n32_struct_flags): Rewrite.
(calc_n32_return_struct_flags): Remove unused variable. Reverse
position of flag bits.
(ffi_prep_cif_machdep): Rewrite n32 portion.
(ffi_call): Enable for n64. Add special handling for small structure
return values.
(ffi_prep_closure_loc): Add n32 and n64 support.
(ffi_closure_mips_inner_O32): Add cast to silence warning.
(copy_struct_N32, ffi_closure_mips_inner_N32): New functions.
From-SVN: r127336
* ltmain.sh: Update from ToT Libtool.
* libtool.m4: Update from ToT Libtool.
* ltsugar.m4: New. Update from ToT Libtool.
* ltversion.m4: New. Update from ToT Libtool.
* ltoptions.m4: New. Update from ToT Libtool.
* ltconfig: Remove.
* ltcf-c.sh: Remove.
* ltcf-cxx.sh: Remove.
* ltcf-gcj.sh: Remove.
* Regenerate all subdirs
From-SVN: r125032
* configure.ac: Tidy target case.
(HAVE_LONG_DOUBLE): Allow the target to override.
* configure: Regenerate.
* include/ffi.h.in: Don't define ffi_type_foo if
LIBFFI_HIDE_BASIC_TYPES is defined.
(ffi_type_longdouble): If not HAVE_LONG_DOUBLE, define
to ffi_type_double.
* types.c (LIBFFI_HIDE_BASIC_TYPES): Define.
(FFI_TYPEDEF, ffi_type_void): Mark the data const.
(ffi_type_longdouble): Special case for Alpha. Don't define
if long double == double.
* src/alpha/ffi.c (FFI_TYPE_LONGDOUBLE): Assert unique value.
(ffi_prep_cif_machdep): Handle it as the 128-bit type.
(ffi_call, ffi_closure_osf_inner): Likewise.
(ffi_closure_osf_inner): Likewise. Mark hidden.
(ffi_call_osf, ffi_closure_osf): Mark hidden.
* src/alpha/ffitarget.h (FFI_LAST_ABI): Tidy definition.
* src/alpha/osf.S (ffi_call_osf, ffi_closure_osf): Mark hidden.
(load_table): Handle 128-bit long double.
* testsuite/libffi.call/float4.c: Add -mieee for alpha.
From-SVN: r123622
2007-01-17 Jack Howarth <howarth@bromo.med.uc.edu>
boehm-gc/
* aclocal.m4: Regenerate to use multi.m4.
* configure: Regenerate.
* Makefile.in: Regenerate.
zlib/
* Makefile.am: Add ACLOCAL_AMFLAGS to use multi.m4.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* Makefile.in: Regenerate.
libffi/
* Makefile.am: Add ACLOCAL_AMFLAGS to use multi.m4.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* Makefile.in: Regenerate.
libjava/
* configure.ac: Use multi.m4 from aclocal rather than custom
code. Use multi_basedir instead libgcj_basedir. Test for
/proc/self/exe when not cross-compiling.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* Makefile.in: Regenerate.
libjava/classpath/
* configure.ac: Use multi.m4 from aclocal rather than
custom code. Use multi_basedir instead libgcj_basedir.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* Makefile.in: Regenerate.
libjava/libltdl/
* Makefile.am: Add ACLOCAL_AMFLAGS to use multi.m4.
* configure.ac: Use multi.m4 from aclocal rather than
custom code.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* Makefile.in: Regenerate.
From-SVN: r120870
2006-12-14 Andreas Tobler <a.tobler@schweiz.org>
* configure.ac: Add TARGET for x86_64-*-darwin*.
* Makefile.am (nodist_libffi_la_SOURCES): Add rules for 64-bit sources
for X86_DARWIN.
* src/x86/ffitarget.h: Set trampoline size for x86_64-*-darwin*.
* src/x86/darwin64.S: New file for x86_64-*-darwin* support.
* configure: Regenerate.
* Makefile.in: Regenerate.
* include/Makefile.in: Regenerate.
* testsuite/Makefile.in: Regenerate.
* testsuite/libffi.special/unwindtest_ffi_call.cc: New test case for
ffi_call only.
From-SVN: r119856
2006-04-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
Andreas Tobler <a.tobler@schweiz.ch>
* Makefile.am: Add PA_HPUX port.
* Makefile.in: Regenerate.
* include/Makefile.in: Likewise.
* testsuite/Makefile.in: Likewise.
* configure.ac: Add PA_HPUX rules.
* configure: Regenerate.
* src/pa/ffitarget.h: Rename linux target to PA_LINUX.
Add PA_HPUX and PA64_HPUX.
Rename FFI_LINUX ABI to FFI_PA32 ABI.
(FFI_TRAMPOLINE_SIZE): Define for 32-bit HP-UX targets.
(FFI_TYPE_SMALL_STRUCT2): Define.
(FFI_TYPE_SMALL_STRUCT4): Likewise.
(FFI_TYPE_SMALL_STRUCT8): Likewise.
(FFI_TYPE_SMALL_STRUCT3): Redefine.
(FFI_TYPE_SMALL_STRUCT5): Likewise.
(FFI_TYPE_SMALL_STRUCT6): Likewise.
(FFI_TYPE_SMALL_STRUCT7): Likewise.
* src/pa/ffi.c (ROUND_DOWN): Delete.
(fldw, fstw, fldd, fstd): Use '__asm__'.
(ffi_struct_type): Add support for FFI_TYPE_SMALL_STRUCT2,
FFI_TYPE_SMALL_STRUCT4 and FFI_TYPE_SMALL_STRUCT8.
(ffi_prep_args_LINUX): Rename to ffi_prep_args_pa32. Update comment.
Simplify incrementing of stack slot variable. Change type of local
'n' to unsigned int.
(ffi_size_stack_LINUX): Rename to ffi_size_stack_pa32. Handle long
double on PA_HPUX.
(ffi_prep_cif_machdep): Likewise.
(ffi_call): Likewise.
(ffi_closure_inner_LINUX): Rename to ffi_closure_inner_pa32. Change
return type to ffi_status. Simplify incrementing of stack slot
variable. Only copy floating point argument registers when PA_LINUX
is true. Reformat debug statement.
Add support for FFI_TYPE_SMALL_STRUCT2, FFI_TYPE_SMALL_STRUCT4 and
FFI_TYPE_SMALL_STRUCT8.
(ffi_closure_LINUX): Rename to ffi_closure_pa32. Add 'extern' to
declaration.
(ffi_prep_closure): Make linux trampoline conditional on PA_LINUX.
Add nops to cache flush. Add trampoline for PA_HPUX.
* src/pa/hpux32.S: New file.
* src/pa/linux.S (ffi_call_LINUX): Rename to ffi_call_pa32. Rename
ffi_prep_args_LINUX to ffi_prep_args_pa32.
Localize labels. Add support for 2, 4 and 8-byte small structs. Handle
unaligned destinations in 3, 5, 6 and 7-byte small structs. Order
argument type checks so that common argument types appear first.
(ffi_closure_LINUX): Rename to ffi_closure_pa32. Rename
ffi_closure_inner_LINUX to ffi_closure_inner_pa32.
Co-Authored-By: Andreas Tobler <a.tobler@schweiz.ch>
From-SVN: r112719