aboutsummaryrefslogtreecommitdiff
path: root/libffi
AgeCommit message (Collapse)AuthorFilesLines
2005-08-11configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.Jakub Jelinek9-116/+433
* 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. From-SVN: r103002
2005-08-10re PR libffi/21819 (i*86-*-gnu* not enabled in configure.ac)Alfred M. Szmidt3-0/+8
2005-08-10 Alfred M. Szmidt <ams@gnu.org> PR libffi/21819: * configure: Rebuilt. * configure.ac: Handle i*86-*-gnu*. From-SVN: r102953
2005-08-09ppc_closure.S (ffi_closure_SYSV): Use DW_CFA_offset_extended_sf rather than ↵Jakub Jelinek3-4/+11
DW_CFA_GNU_negative_offset_extended. * 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. From-SVN: r102900
2005-07-22sysv.S (ffi_call_SYSV): Stop argument popping correctly on sh3.SUGIOKA Toshinobu3-40/+78
* 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. From-SVN: r102298
2005-07-20ffi.c (ffi_call): Handle small structures correctly.Kaz Kojima4-54/+119
* 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. From-SVN: r102210
2005-07-192005-07-19 Andreas Tobler <a.tobler@schweiz.ch>Andreas Tobler1-0/+19
push the missing CL. From-SVN: r102175
2005-07-19Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.Andreas Tobler10-53/+229
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 From-SVN: r102174
2005-07-10cls_5_1_byte.c: New test file.Andreas Tobler4-0/+366
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. From-SVN: r101855
2005-07-06ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1 as ↵Randolph Chung4-34/+101
FFI_TYPE_SMALL_STRUCT3. * 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. From-SVN: r101650
2005-06-15re PR libffi/21943 (O32 libffi.so fails to link on IRIX 6)Rainer Orth3-2/+10
PR libgcj/21943 * src/mips/n32.S: Enforce PIC code. * src/mips/o32.S: Likewise. From-SVN: r100961
2005-06-14configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.Rainer Orth3-0/+7
* configure.ac: Treat i*86-*-solaris2.10 and up as X86_64. * configure: Regenerate. From-SVN: r100959
2005-06-01ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET to call ↵Alan Modra3-2/+8
ffi_closure_helper_SYSV. * 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. From-SVN: r100416
2005-05-18Fixup the date of last entryR. Kelley Cook1-1/+1
From-SVN: r99881
2005-05-18configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.Kelley Cook9-112/+816
2005-05-03 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. From-SVN: r99879
2005-05-10* configure: Regenerate.Mike Stump2-1/+5
From-SVN: r99498
2005-05-08re PR libffi/21285 (gij fails to handle NullPointerException exception)Richard Henderson2-45/+54
PR libffi/21285 * src/alpha/osf.S: Update unwind into to match code. From-SVN: r99415
2005-05-04ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in bit 11 of flags.Richard Henderson3-52/+107
* 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. From-SVN: r99257
2005-04-29Fix typo in previous patch.Ralf Corsepius2-2/+2
From-SVN: r98984
2005-04-29configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*, powerpc-*rtems*, ↵Ralf Corsepius3-0/+16
arm*-*-rtems*, sh-*-rtems*. 2005-05-29 Ralf Corsepius <ralf.corsepius@rtems.org> * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*, powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*. * configure: Regenerate. From-SVN: r98983
2005-04-20libffi-dg.exp (libffi-dg-test-1): In regsub use, have Tcl8.3-compatible ↵Hans-Peter Nilsson2-2/+7
intermediate variable. * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use, have Tcl8.3-compatible intermediate variable. From-SVN: r98453
2005-04-18Add include/Makefile.in to last entryHans-Peter Nilsson1-1/+2
From-SVN: r98333
2005-04-18Makefile.am: Add CRIS support.Simon Posnjak11-24/+737
* Makefile.am: Add CRIS support. * configure.ac: Likewise. * Makefile.in, configure, testsuite/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__. Co-Authored-By: Hans-Peter Nilsson <hp@axis.com> From-SVN: r98332
2005-04-18libffi-dg.exp (libffi-dg-test-1): Replace \n with \r?\n in output tests.Hans-Peter Nilsson2-0/+21
* testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with \r?\n in output tests. From-SVN: r98329
2005-04-13* configure: Regenerate.Mike Stump2-1/+66
From-SVN: r98065
2005-03-31* src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.Hans Boehm2-2/+6
From-SVN: r97303
2005-03-30* src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.Steve Ellcey3-37/+26
(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. From-SVN: r97283
2005-03-24darwin.S: Update for -m64 multilib.Mike Stump3-20/+48
* src/powerpc/darwin.S: Update for -m64 multilib. * src/powerpc/darwin_closure.S: Likewise. From-SVN: r96967
2005-03-21configure.ac: Do not invoke TL_AC_GCC_VERSION.Zack Weinberg8-58/+26
* configure.ac: Do not invoke TL_AC_GCC_VERSION. Do not set tool_include_dir. * aclocal.m4, configure, Makefile.in, testsuite/Makefile.in: Regenerate. * include/Makefile.am: Set gcc_version and toollibffidir. * include/Makefile.in: Regenerate. From-SVN: r96823
2005-02-23re PR libffi/20104 (gij fails on ppc and not on x86)Andrew Haley2-3/+12
2005-02-22 Andrew Haley <aph@redhat.com> PR libffi/20104 * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to odd-numbered register pairs for 64-bit integer types. From-SVN: r95455
2005-02-23re PR libffi/20104 (gij fails on ppc and not on x86)Andreas Tobler2-0/+47
2005-02-23 Andreas Tobler <a.tobler@schweiz.ch> PR libffi/20104 * testsuite/libffi.call/return_ll1.c: New test case. From-SVN: r95454
2005-02-11cls_align_longdouble.c: Remove dg-options.Janis Johnson5-4/+7
* 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. From-SVN: r94899
2005-02-08ffitarget.h: Remove PPC stuff which does not belong to frv.Andreas Tobler2-30/+6
2005-02-08 Andreas Tobler <a.tobler@schweiz.ch> * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv. From-SVN: r94747
2005-01-12special.exp (cxx_options): Add -shared-libgcc.Eric Botcazou2-1/+6
* testsuite/libffi.special/special.exp (cxx_options): Add -shared-libgcc. From-SVN: r93221
2004-12-31types.c (FFI_AGGREGATE_TYPEDEF): Remove.Richard Henderson2-66/+35
* 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. From-SVN: r92775
2004-12-31types.c (FFI_TYPE_POINTER): Define with sizeof.Richard Henderson6-857/+957
* 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. From-SVN: r92774
2004-12-27* src/x86/unix64.S: Fix typo in unwind info.Richard Henderson2-1/+5
From-SVN: r92636
2004-12-25ffi64.c (struct register_args): Rename from stackLayout.Richard Henderson3-640/+592
* 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. From-SVN: r92602
2004-12-08Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and PICFLAG.David Edelsohn3-4/+6
* Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and PICFLAG. * Makefile.in: Regenerated. From-SVN: r91905
2004-12-02Introduce and use config/gcc-version.m4.Richard Sandiford7-13/+38
From-SVN: r91625
2004-11-29libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Re-import linux-gnu case from CVS ↵Kelley Cook2-9/+6
libtool to always pass_all. 2004-11-29 Kelley Cook <kcook@gcc.gnu.org> * libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Re-import linux-gnu case from CVS libtool to always pass_all. * libjava/configure, libffi/configure, libjava/configure, libobjc/configure, boehm-gc/configure: Regenerated. From-SVN: r91495
2004-11-25libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Revert previous change.Kelley Cook2-2/+13
2004-11-24 Kelley Cook <kcook@gcc.gnu.org> * libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Revert previous change. * boehm-gc/configure: Regenerate. * libffi/configure: Regenerate. * libgfortran/configure: Regenerate. * libjava/configure: Regenerate. * libobjc/configure: Regenerate. * libstdc++-v3/configure: Regenerate. * zlib/configure: Regenerate. From-SVN: r91293
2004-11-25* ChangeLog: Remove duplication.John David Anglin1-1908/+0
From-SVN: r91265
2004-11-24libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Import linux-gnu case from CVS libtool ↵Kelley Cook2-9/+6
to always pass_all. 2004-11-24 Kelley Cook <kcook@gcc.gnu.org> * libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Import linux-gnu case from CVS libtool to always pass_all. * boehm-gc/configure: Regenerate. * libffi/configure: Regenerate. * libgfortran/configure: Regenerate. * libjava/configure: Regenerate. * libobjc/configure: Regenerate. * libstdc++-v3/configure: Regenerate. * zlib/configure: Regenerate. From-SVN: r91200
2004-11-24target-libpath.exp: New file defining set_ld_library_path_env_vars and ↵John David Anglin2-23/+1915
restore_ld_library_path_env_vars. * lib/target-libpath.exp: New file defining set_ld_library_path_env_vars and restore_ld_library_path_env_vars. * g++.dg/compat/compat.exp, lib/g++.exp, lib/gcc-dg.exp, lib/gfortran.exp, lib/objc.exp, lib/treelang.exp: Use new procs. * ada/acats/run_acats (LD_LIBRARY_PATH): Add previous LD_LIBRARY_PATH to LD_LIBRARY_PATH. Export LD_LIBRARY_PATH. * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp. * testsuite/lib/libjava.exp, testsuite/libjava.jacks/jacks.exp: Use new procs in target-libpath.exp. * testsuite/lib/libmudflap.exp: Use new procs in target-libpath.exp. * testsuite/lib/libstdc++.exp: Use new procs in target-libpath.exp. From-SVN: r91137
2004-11-23o32.S (ffi_call_O32, [...]): Use jalr instead of jal.Richard Sandiford2-10/+15
* src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead of jal. Use an absolute encoding for the frame information. * configure.host: Enable the interpreter for mips*-*-linux*. From-SVN: r91116
2004-11-23Makefile.am: Remove no-dependencies.Kelley Cook8-609/+499
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. From-SVN: r91073
2004-11-22ffi.c (ffi_prep_closure): Align doubles and 64-bit integers on a 8-byte ↵Eric Botcazou3-3/+32
boundary. * 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. From-SVN: r91022
2004-10-27ffi.c (ffi_prep_cif_machdep): Handle functions that return long long values.Richard Earnshaw3-74/+175
* 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. From-SVN: r89681
2004-10-27libffi-db.exp (load_gcc_lib): New function.Richard Earnshaw2-1/+23
* testsuite/lib/libffi-db.exp (load_gcc_lib): New function. (libffi_exit): New function. (libffi_init): Build the testglue wrapper if needed. From-SVN: r89636
2004-10-25re PR other/18138 (libgcc_s.so.1 not found by 64-bit testsuite)Eric Botcazou2-1/+6
gcc/testsuite: PR other/18138 * lib/g++.exp: Accept more than one multilib libgcc. * lib/gcc-dg.exp: Likewise. * lib/objc.exp: Likewise. * lib/treelang.exp: Likewise. * lib/gfortran.exp: Likewise. libffi: PR other/18138 * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc. libjava: PR other/18138 * testsuite/lib/libjava.exp: Accept more than one multilib libgcc. libmudflap!: PR other/18138 * testsuite/lib/libmudflap.exp: Accept more than one multilib libgcc. libstdc++-v3: PR other/18138 * testsuite/lib/libstdc++.exp: Accept more than one multilib libgcc. From-SVN: r89528