re PR testsuite/32843 (libffi.call/return_sc.c)
authorAndrew Haley <aph@redhat.com>
Mon, 6 Aug 2007 12:48:07 +0000 (12:48 +0000)
committerAndrew Haley <aph@gcc.gnu.org>
Mon, 6 Aug 2007 12:48:07 +0000 (12:48 +0000)
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.

From-SVN: r127241

libffi/ChangeLog
libffi/src/x86/sysv.S

index 503ac1170ad23a577c43a9bdc1ef43e3badb133a..285138449998e2ea2df2eca02715fea3374f6078 100644 (file)
@@ -1,3 +1,10 @@
+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
index a5add26d1dccee9b34212a3431fc92085d63eec3..2bd78486cba56e0a5cea61479af0758483a49ccc 100644 (file)
@@ -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