Alan Modra
3521ba8b2e
PowerPC64 ELFv2 support
...
PowerPC64 ELFv2 support
* src/powerpc/ffitarget.h: Import from upstream.
* src/powerpc/ffi.c: Likewise.
* src/powerpc/linux64.S: Likewise.
* src/powerpc/linux64_closure.S: Likewise.
* doc/libffi.texi: Likewise.
* testsuite/libffi.call/cls_double_va.c: Likewise.
* testsuite/libffi.call/cls_longdouble_va.c: Likewise.
From-SVN: r204917
2013-11-18 01:05:08 +10:30
Dominique d'Humieres
1e1ba2d795
Fix several libffi testsuite failures on 64-bit SPARC and PowerPC (PR libffi/56033)
...
PR libffi/56033
* testsuite/libffi.call/cls_struct_va1.c (test_fn): Cast resp to
ffi_arg *.
* testsuite/libffi.call/cls_uint_va.c (cls_ret_T_fn): Likewise.
* testsuite/libffi.call/va_1.c (main): Change res to ffi_arg.
* testsuite/libffi.call/va_struct1.c (main): Likewise.
Co-Authored-By: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
From-SVN: r199194
2013-05-22 11:47:52 +00:00
Thorsten Glaser
7b045477e2
re PR libffi/56000 (FAIL: libffi.call/cls_uchar_va.c -O0 -W -Wall output pattern test)
...
2013-01-07 Thorsten Glaser <tg@mirbsd.org>
PR middle-end/56000
* testsuite/libffi.call/cls_uchar_va.c,
testsuite/libffi.call/cls_ushort_va.c,
testsuite/libffi.call/va_1.c: Testsuite fixes.
From-SVN: r195277
2013-01-17 19:24:08 +01:00
Anthony Green
b4b575ce78
libffi merge
...
From-SVN: r194722
2012-12-26 16:28:02 +00:00
Anthony Green
34fa7690ac
Merge upstream libffi
...
From-SVN: r184897
2012-03-04 21:11:09 +00:00
Kai Tietz
893f430128
prep_cif.c (ffi_prep_cif): Allow for X86_WIN32 also FFI_THISCALL.
...
* 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.
From-SVN: r184021
2012-02-08 22:35:19 +01:00
Kai Tietz
9b850dd969
ffi.c (ffi_call_win32): Add new argument to prototype for specify calling-convention.
...
* 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.
From-SVN: r183676
2012-01-29 14:29:53 +01:00
Rainer Orth
902233e09c
cls_double_va.c: Move PR number to comment.
...
* testsuite/libffi.call/cls_double_va.c: Move PR number to comment.
* testsuite/libffi.call/cls_longdouble_va.c: Likewise.
From-SVN: r175632
2011-06-29 12:47:56 +00:00
Rainer Orth
2ac88e57d7
re PR libffi/46660 (cls_double_va.c, cls_longdouble_va.c FAIL on IRIX 6.5)
...
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.
From-SVN: r175618
2011-06-29 07:31:05 +00:00
Rainer Orth
652de9ffb6
huge_struct.c (test_large_fn): Use PRIu8, PRId8 instead of %hhu, %hhd.
...
* 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.
From-SVN: r175032
2011-06-14 15:54:22 +00:00
Rainer Orth
1bbb474148
re PR libffi/46661 (32-bit cls_pointer.c, cls_pointer_stack.c FAIL on IRIX 6.5)
...
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.
From-SVN: r169963
2011-02-09 10:01:07 +00:00
Rainer Orth
ce9315a9f5
ffitest.h [__sgi] (PRId64, PRIu64): Define.
...
* testsuite/libffi.call/ffitest.h [__sgi] (PRId64, PRIu64): Define.
(PRIuPTR): Define.
From-SVN: r167332
2010-12-01 14:00:01 +00:00
Rainer Orth
ed2a97eb0d
libffi-dg.exp: Rename ...
...
* 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.
From-SVN: r166768
2010-11-15 20:30:37 +00:00
Chung-Lin Tang
46e0720d66
Add ARM VFP ABI support to libffi.
...
From-SVN: r166032
2010-10-28 18:11:11 +00:00
Jakub Jelinek
731fc5f040
re PR libffi/45677 (Bad stack allocation for ffi function calls on x86-64)
...
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.
From-SVN: r164829
2010-10-01 09:31:49 +02:00
Andreas Tobler
87d072e09a
configure.ac: Add target powerpc64-*-freebsd*.
...
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.
From-SVN: r163030
2010-08-09 15:00:32 +02:00
Jakub Jelinek
60d3aec487
tree-ssa-pre.c (my_rev_post_order_compute): Remove set but not used count variable.
...
* tree-ssa-pre.c (my_rev_post_order_compute): Remove set but not
used count variable.
* genemit.c (gen_expand, gen_split): Avoid set but not used warnings
when operandN variables aren't used in the body of the expander
or splitter.
* tree-outof-ssa.c (FOR_EACH_ELIM_GRAPH_SUCC,
FOR_EACH_ELIM_GRAPH_PRED): Avoid set but not used warnings.
* tree-ssa-operands.h (FOR_EACH_SSA_TREE_OPERAND): Likewise.
* tree-flow.h (FOR_EACH_IMM_USE_FAST, FOR_EACH_IMM_USE_STMT,
FOR_EACH_IMM_USE_ON_STMT): Likewise.
* tree.h (FOR_EACH_CONSTRUCTOR_ELT): Likewise.
* tree.c (PROCESS_ARG): Likewise.
fortran/
* parse.c (parse_derived, parse_enum): Avoid set but not used
warning.
java/
* expr.c (process_jvm_instruction): Avoid set but not used warning.
* builtins.c (compareAndSwapInt_builtin, compareAndSwapLong_builtin,
getVolatile_builtin): Likewise.
libjava/
* exception.cc (_Jv_Throw): Avoid set but not used warning.
* include/java-assert.h (JvAssertMessage, JvAssert): Use argument in
sizeof to avoid set but not used warnings.
libjava/classpath/
* native/jni/midi-alsa/gnu_javax_sound_midi_alsa_AlsaPortDevice.c
(Java_gnu_javax_sound_midi_alsa_AlsaPortDevice_run_1receiver_1thread_1):
Avoid set but not used warning.
libiberty/
* regex.c (byte_re_match_2_internal): Avoid set but not used
warning.
gcc/testsuite/
* gcc.dg/builtin-choose-expr.c: Avoid set but not used warnings.
* gcc.dg/trunc-1.c: Likewise.
* gcc.dg/vla-9.c: Likewise.
* gcc.dg/dfp/composite-type.c: Likewise.
libffi/
* testsuite/libffi.call/err_bad_abi.c: Remove unused args variable.
From-SVN: r158084
2010-04-07 22:27:37 +02:00
Rainer Orth
ec168029ae
re PR libffi/40701 (Many libffi tests fail to compile on Tru64 UNIX)
...
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 *.
From-SVN: r155710
2010-01-07 20:35:33 +00:00
Anthony Green
bc472c0054
xfail tests for AVR32
...
From-SVN: r155551
2010-01-01 12:40:18 +00:00
Andreas Tobler
d7e9538ee5
Fixes for HPUX.
...
From-SVN: r155550
2010-01-01 12:36:07 +00:00
Anthony Green
1098bcf812
Update xfails.
...
From-SVN: r155548
2010-01-01 12:26:49 +00:00
Anthony Green
a761df3da4
Windows patch
...
From-SVN: r155540
2009-12-31 17:44:32 +00:00
Anthony Green
493278bea5
New test case.
...
From-SVN: r155538
2009-12-31 16:58:55 +00:00
John David Anglin
2516c7cd1e
ffitest.h: Define PRIuPTR on PA HP-UX.
...
* testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
From-SVN: r155277
2009-12-15 23:55:56 +00:00
Eric Botcazou
2ea54b81da
* testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
...
From-SVN: r155151
2009-12-11 10:00:12 +00:00
David Daney
6c6859a104
stret_medium.c: Remove xfail for mips*-*-*
...
2009-12-08 David Daney <ddaney@caviumnetworks.com>
* testsuite/libffi.call/stret_medium.c: Remove xfail for mips*-*-*
* testsuite/libffi.call/cls_align_longdouble_split2.c: Same.
* testsuite/libffi.call/stret_large.c: Same.
* testsuite/libffi.call/cls_align_longdouble_split.c: Same.
* testsuite/libffi.call/stret_large2.c: Same.
* testsuite/libffi.call/stret_medium2.c: Same.
From-SVN: r155093
2009-12-08 22:59:02 +00:00
Uros Bizjak
6078f50a12
re PR libffi/41908 (closures fail for some structure arguments containing floats)
...
PR libffi/41908
* src/x86/ffi64.c (classify_argument): Update from
gcc/config/i386/i386.c.
(ffi_closure_unix64_inner): Do not use the address of two consecutive
SSE registers directly.
* testsuite/libffi.call/cls_dbls_struct.c (main): Remove xfail
for x86_64 linux targets.
From-SVN: r154988
2009-12-04 19:41:59 +01:00
Uros Bizjak
ddf6c18784
cls_longdouble_va.c (main): Fix format string.
...
* testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
Remove xfails for x86 linux targets.
From-SVN: r154946
2009-12-03 15:02:10 +01:00
Uros Bizjak
a27c404027
cls_longdouble_va.c (main): Fix format string.
...
* testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
From-SVN: r154941
2009-12-03 11:35:31 +01:00
Andreas Tobler
2265f64613
re PR libffi/41908 (closures fail for some structure arguments containing floats)
...
2009-11-02 Andreas Tobler <a.tobler@schweiz.org>
PR libffi/41908
* testsuite/libffi.call/testclosure.c: New test.
From-SVN: r153824
2009-11-02 22:18:17 +01:00
Andrew Haley
3bc462c29c
cls_align_sint64.c, [...]: Fix printf format specifiers.
...
2009-06-16 Andrew Haley <aph@redhat.com>
* testsuite/libffi.call/cls_align_sint64.c,
testsuite/libffi.call/cls_align_uint64.c,
testsuite/libffi.call/cls_longdouble_va.c,
testsuite/libffi.call/cls_ulonglong.c,
testsuite/libffi.call/return_ll1.c,
testsuite/libffi.call/stret_medium2.c: Fix printf format
specifiers.
* testsuite/libffi.call/ffitest.h,
testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRIuLL): Define.
From-SVN: r148521
2009-06-16 10:15:31 +00:00
Andrew Haley
081b044b49
err_bad_typedef.c: xfail everywhere.
...
2009-06-15 Andrew Haley <aph@redhat.com>
* testsuite/libffi.call/err_bad_typedef.c: xfail everywhere.
* testsuite/libffi.call/err_bad_abi.c: Likewise.
From-SVN: r148499
2009-06-15 17:14:53 +00:00
Andrew Haley
062b827975
[multiple changes]
...
2009-06-12 Andrew Haley <aph@redhat.com>
* ChangeLog.libffi: testsuite/libffi.call/cls_align_sint64.c,
testsuite/libffi.call/cls_align_uint64.c,
testsuite/libffi.call/cls_ulonglong.c,
testsuite/libffi.call/return_ll1.c,
testsuite/libffi.call/stret_medium2.c: Fix printf format
specifiers.
testsuite/libffi.special/unwindtest.cc: include stdint.h.
2009-06-11 Timothy Wall <twall@users.sf.net>
* Makefile.am,
configure.ac,
include/ffi.h.in,
include/ffi_common.h,
src/closures.c,
src/dlmalloc.c,
src/x86/ffi.c,
src/x86/ffitarget.h,
src/x86/win64.S (new),
README: Added win64 support (mingw or MSVC)
* Makefile.in,
include/Makefile.in,
man/Makefile.in,
testsuite/Makefile.in,
configure,
aclocal.m4: Regenerated
* ltcf-c.sh: properly escape cygwin/w32 path
* man/ffi_call.3: Clarify size requirements for return value.
* src/x86/ffi64.c: Fix filename in comment.
* src/x86/win32.S: Remove unused extern.
* testsuite/libffi.call/closure_fn0.c,
testsuite/libffi.call/closure_fn1.c,
testsuite/libffi.call/closure_fn2.c,
testsuite/libffi.call/closure_fn3.c,
testsuite/libffi.call/closure_fn4.c,
testsuite/libffi.call/closure_fn5.c,
testsuite/libffi.call/closure_fn6.c,
testsuite/libffi.call/closure_stdcall.c,
testsuite/libffi.call/cls_12byte.c,
testsuite/libffi.call/cls_16byte.c,
testsuite/libffi.call/cls_18byte.c,
testsuite/libffi.call/cls_19byte.c,
testsuite/libffi.call/cls_1_1byte.c,
testsuite/libffi.call/cls_20byte.c,
testsuite/libffi.call/cls_20byte1.c,
testsuite/libffi.call/cls_24byte.c,
testsuite/libffi.call/cls_2byte.c,
testsuite/libffi.call/cls_3_1byte.c,
testsuite/libffi.call/cls_3byte1.c,
testsuite/libffi.call/cls_3byte2.c,
testsuite/libffi.call/cls_4_1byte.c,
testsuite/libffi.call/cls_4byte.c,
testsuite/libffi.call/cls_5_1_byte.c,
testsuite/libffi.call/cls_5byte.c,
testsuite/libffi.call/cls_64byte.c,
testsuite/libffi.call/cls_6_1_byte.c,
testsuite/libffi.call/cls_6byte.c,
testsuite/libffi.call/cls_7_1_byte.c,
testsuite/libffi.call/cls_7byte.c,
testsuite/libffi.call/cls_8byte.c,
testsuite/libffi.call/cls_9byte1.c,
testsuite/libffi.call/cls_9byte2.c,
testsuite/libffi.call/cls_align_double.c,
testsuite/libffi.call/cls_align_float.c,
testsuite/libffi.call/cls_align_longdouble.c,
testsuite/libffi.call/cls_align_longdouble_split.c,
testsuite/libffi.call/cls_align_longdouble_split2.c,
testsuite/libffi.call/cls_align_pointer.c,
testsuite/libffi.call/cls_align_sint16.c,
testsuite/libffi.call/cls_align_sint32.c,
testsuite/libffi.call/cls_align_sint64.c,
testsuite/libffi.call/cls_align_uint16.c,
testsuite/libffi.call/cls_align_uint32.c,
testsuite/libffi.call/cls_align_uint64.c,
testsuite/libffi.call/cls_dbls_struct.c,
testsuite/libffi.call/cls_double.c,
testsuite/libffi.call/cls_double_va.c,
testsuite/libffi.call/cls_float.c,
testsuite/libffi.call/cls_longdouble.c,
testsuite/libffi.call/cls_longdouble_va.c,
testsuite/libffi.call/cls_multi_schar.c,
testsuite/libffi.call/cls_multi_sshort.c,
testsuite/libffi.call/cls_multi_sshortchar.c,
testsuite/libffi.call/cls_multi_uchar.c,
testsuite/libffi.call/cls_multi_ushort.c,
testsuite/libffi.call/cls_multi_ushortchar.c,
testsuite/libffi.call/cls_pointer.c,
testsuite/libffi.call/cls_pointer_stack.c,
testsuite/libffi.call/cls_schar.c,
testsuite/libffi.call/cls_sint.c,
testsuite/libffi.call/cls_sshort.c,
testsuite/libffi.call/cls_uchar.c,
testsuite/libffi.call/cls_uint.c,
testsuite/libffi.call/cls_ulonglong.c,
testsuite/libffi.call/cls_ushort.c,
testsuite/libffi.call/err_bad_abi.c,
testsuite/libffi.call/err_bad_typedef.c,
testsuite/libffi.call/float2.c,
testsuite/libffi.call/huge_struct.c,
testsuite/libffi.call/nested_struct.c,
testsuite/libffi.call/nested_struct1.c,
testsuite/libffi.call/nested_struct10.c,
testsuite/libffi.call/nested_struct2.c,
testsuite/libffi.call/nested_struct3.c,
testsuite/libffi.call/nested_struct4.c,
testsuite/libffi.call/nested_struct5.c,
testsuite/libffi.call/nested_struct6.c,
testsuite/libffi.call/nested_struct7.c,
testsuite/libffi.call/nested_struct8.c,
testsuite/libffi.call/nested_struct9.c,
testsuite/libffi.call/problem1.c,
testsuite/libffi.call/return_ldl.c,
testsuite/libffi.call/return_ll1.c,
testsuite/libffi.call/stret_large.c,
testsuite/libffi.call/stret_large2.c,
testsuite/libffi.call/stret_medium.c,
testsuite/libffi.call/stret_medium2.c,
testsuite/libffi.special/unwindtest.cc: use ffi_closure_alloc instead
of checking for MMAP. Use intptr_t instead of long casts.
2009-06-12 Andrew Haley <aph@redhat.com>
* Makefile.am: Remove info_TEXINFOS.
From-SVN: r148433
2009-06-12 15:57:58 +00:00
Kaz Kojima
f43def61ea
cls_longdouble_va.c: Add xfail sh*-*-linux-*.
...
* testsuite/libffi.call/cls_longdouble_va.c: Add xfail sh*-*-linux-*.
* testsuite/libffi.call/err_bad_abi.c: Add xfail sh*-*-*.
* testsuite/libffi.call/err_bad_typedef.c: Likewise.
From-SVN: r148402
2009-06-11 23:20:49 +00:00
Andrew Haley
3b5b1a73fa
[multiple changes]
...
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.
From-SVN: r148285
2009-06-08 17:03:31 +00:00
Jakub Jelinek
748086b7b2
Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception.
...
From-SVN: r145841
2009-04-09 17:00:19 +02:00
H.J. Lu
7f92e24236
re PR libffi/34612 ([4.1/4.2] libffi doesn't work with -fomit-frame-pointer on ia32)
...
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.
From-SVN: r131964
2008-01-30 06:36:58 -08:00
Andreas Tobler
e84296c66c
sysv.S: Load correct cr to compare if we have long double.
...
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.
From-SVN: r130247
2007-11-17 00:24:53 +01:00
David Daney
787b0d199b
* testsuite/libffi.call/return_sl.c: New test.
...
From-SVN: r127787
2007-08-24 19:32:02 +00:00
David Daney
dfbb3e3625
cls_multi_ushort.c, [...]: Remove xfail for mips64*-*-*.
...
* 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*-*-*.
From-SVN: r127337
2007-08-10 15:38:23 +00:00
David Daney
d23869d452
ffitest.h (ffi_type_mylong): Remove definition.
...
* 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.
From-SVN: r127312
2007-08-09 02:02:37 +00:00
David Daney
58e11497f7
return_ul.c (main): Define return type as ffi_arg.
...
* testsuite/libffi.call/return_ul.c (main): Define return type as
ffi_arg. Use proper printf conversion specifier.
From-SVN: r127177
2007-08-03 03:17:13 +00:00
Andrew Haley
387cfbba39
re PR testsuite/32843 (libffi.call/return_sc.c)
...
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.
From-SVN: r127093
2007-07-31 15:05:52 +00:00
Richard Guenther
0ee0208ecc
re PR testsuite/32843 (libffi.call/return_sc.c)
...
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.
From-SVN: r126950
2007-07-26 09:13:58 +00:00
Andrew Haley
0959e2b887
[multiple changes]
...
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.
From-SVN: r126489
2007-07-09 17:33:46 +00:00
Richard Henderson
bf8da5fc77
configure.ac: Tidy target case.
...
* 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-04-06 09:24:16 -07:00
Uros Bizjak
34a6ccda5c
return_fl2.c (return_fl): Mark as static.
...
* 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.
From-SVN: r123180
2007-03-24 08:13:17 +01:00
Geoffrey Keating
58182de357
In gcc/: PR 23067
...
In gcc/:
PR 23067
* c-decl.c (start_struct): Don't create self-containing
structures.
* config/rs6000/rs6000.c (darwin_rs6000_special_round_type_align):
New.
* config/rs6000/rs6000-protos.h
(darwin_rs6000_special_round_type_align): New.
* config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Rewrite.
(ROUND_TYPE_ALIGN): Use darwin_rs6000_special_round_type_align.
In gcc/testsuite/:
PR 23067
* gcc.target/powerpc/darwin-abi-3.c: Remove XFAIL.
* gcc.target/powerpc/darwin-abi-6.c: Remove XFAIL.
* gcc.target/powerpc/darwin-abi-7.c: Remove XFAIL.
* gcc.target/powerpc/darwin-abi-8.c: Remove XFAIL.
* gcc.target/powerpc/darwin-abi-9.c: Remove XFAIL.
* gcc.target/powerpc/darwin-abi-10.c: Remove XFAIL.
* gcc.target/powerpc/darwin-abi-11.c: Remove XFAIL.
In libobjc/:
* encoding.c (darwin_rs6000_special_round_type_align): New.
In libffi/:
* 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.
From-SVN: r118365
2006-11-01 05:28:41 +00:00
Torsten Schoenfeld
cb4132fe11
ffi.h.in (ffi_type_ulong, [...]): Define correctly for 32-bit architectures.
...
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.
From-SVN: r115739
2006-07-25 22:01:22 +02:00
David Daney
0d24c3fa6f
closure_fn6.c: Remove xfail for mips, xfail remains for mips64.
...
* testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
xfail remains for mips64.
From-SVN: r115598
2006-07-19 19:52:44 +00:00