From 6cc1286e4212ccda632a158f06a269854ff46098 Mon Sep 17 00:00:00 2001 From: aph Date: Mon, 6 Aug 2007 12:48:07 +0000 Subject: 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127241 138bc75d-0d04-0410-961f-82ee72b054a4 --- libffi/ChangeLog | 7 +++++++ libffi/src/x86/sysv.S | 8 ++++++++ 2 files changed, 15 insertions(+) (limited to 'libffi') diff --git a/libffi/ChangeLog b/libffi/ChangeLog index 503ac1170ad..28513844999 100644 --- a/libffi/ChangeLog +++ b/libffi/ChangeLog @@ -1,3 +1,10 @@ +2007-08-06 Andrew Haley + + 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 * testsuite/libffi.call/return_ul.c (main): Define return type as diff --git a/libffi/src/x86/sysv.S b/libffi/src/x86/sysv.S index a5add26d1dc..2bd78486cba 100644 --- a/libffi/src/x86/sysv.S +++ b/libffi/src/x86/sysv.S @@ -266,6 +266,14 @@ ffi_closure_raw_SYSV: movl CIF_FLAGS_OFFSET(%esi), %eax /* rtype */ cmpl $FFI_TYPE_INT, %eax je .Lrcls_retint + + /* Handle FFI_TYPE_UINT8, FFI_TYPE_SINT8, FFI_TYPE_UINT16, + FFI_TYPE_SINT16, FFI_TYPE_UINT32, FFI_TYPE_SINT32. */ + cmpl $FFI_TYPE_UINT64, %eax + jge 0f + cmpl $FFI_TYPE_UINT8, %eax + jge .Lcls_retint +0: cmpl $FFI_TYPE_FLOAT, %eax je .Lrcls_retfloat cmpl $FFI_TYPE_DOUBLE, %eax -- cgit v1.2.1