summaryrefslogtreecommitdiff
path: root/libffi
diff options
context:
space:
mode:
authoraph <aph@138bc75d-0d04-0410-961f-82ee72b054a4>2007-08-06 12:48:07 +0000
committeraph <aph@138bc75d-0d04-0410-961f-82ee72b054a4>2007-08-06 12:48:07 +0000
commit6cc1286e4212ccda632a158f06a269854ff46098 (patch)
tree0b4e050e1e6718eea43cb202333e2a152b48fac8 /libffi
parent947761518cc3b03ae4900c1709155dfa59052693 (diff)
downloadgcc-6cc1286e4212ccda632a158f06a269854ff46098.tar.gz
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
Diffstat (limited to 'libffi')
-rw-r--r--libffi/ChangeLog7
-rw-r--r--libffi/src/x86/sysv.S8
2 files changed, 15 insertions, 0 deletions
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 <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 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