diff options
author | Andrew Haley <aph@redhat.com> | 2007-08-06 12:48:07 +0000 |
---|---|---|
committer | Andrew Haley <aph@gcc.gnu.org> | 2007-08-06 12:48:07 +0000 |
commit | 7665c9bebcd81c0d711c7cac6ef4f17bfdee22fd (patch) | |
tree | 0b4e050e1e6718eea43cb202333e2a152b48fac8 /libffi | |
parent | 7db2c621ddb427a42a64de98d74806b6ea05018a (diff) | |
download | gcc-7665c9bebcd81c0d711c7cac6ef4f17bfdee22fd.zip gcc-7665c9bebcd81c0d711c7cac6ef4f17bfdee22fd.tar.gz gcc-7665c9bebcd81c0d711c7cac6ef4f17bfdee22fd.tar.bz2 |
re PR testsuite/32843 (libffi.call/return_sc.c)
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
Diffstat (limited to 'libffi')
-rw-r--r-- | libffi/ChangeLog | 7 | ||||
-rw-r--r-- | libffi/src/x86/sysv.S | 8 |
2 files changed, 15 insertions, 0 deletions
diff --git a/libffi/ChangeLog b/libffi/ChangeLog index 503ac11..2851384 100644 --- a/libffi/ChangeLog +++ b/libffi/ChangeLog @@ -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 diff --git a/libffi/src/x86/sysv.S b/libffi/src/x86/sysv.S index a5add26..2bd7848 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 |