aboutsummaryrefslogtreecommitdiff
path: root/libffi/src
diff options
context:
space:
mode:
authorAndrew Haley <aph@redhat.com>2007-08-06 12:48:07 +0000
committerAndrew Haley <aph@gcc.gnu.org>2007-08-06 12:48:07 +0000
commit7665c9bebcd81c0d711c7cac6ef4f17bfdee22fd (patch)
tree0b4e050e1e6718eea43cb202333e2a152b48fac8 /libffi/src
parent7db2c621ddb427a42a64de98d74806b6ea05018a (diff)
downloadgcc-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/src')
-rw-r--r--libffi/src/x86/sysv.S8
1 files changed, 8 insertions, 0 deletions
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