summarylogtreecommitdiffstats
path: root/fix_return_size.patch
diff options
context:
space:
mode:
authorSchala2016-08-18 23:03:10 -0700
committerSchala2016-08-18 23:03:10 -0700
commit20b13b8b4b5d1f630c6391de72d7be2464fc478d (patch)
treebc804f2bb6a244678eb07c3753eaa60e9aba337f /fix_return_size.patch
parent3b7794913e06446bfb29cadaa7e5f1687e302175 (diff)
downloadaur-20b13b8b4b5d1f630c6391de72d7be2464fc478d.tar.gz
fix return size
Diffstat (limited to 'fix_return_size.patch')
-rw-r--r--fix_return_size.patch50
1 files changed, 50 insertions, 0 deletions
diff --git a/fix_return_size.patch b/fix_return_size.patch
new file mode 100644
index 000000000000..37a51ba7a463
--- /dev/null
+++ b/fix_return_size.patch
@@ -0,0 +1,50 @@
+--- src/libffi-3.2.1/src/x86/ffi.c.orig 2016-07-20 21:24:49.000771900 +0100
++++ src/libffi-3.2.1/src/x86/ffi.c 2016-07-20 21:25:09.918786700 +0100
+@@ -65,7 +65,8 @@
+ if ((ecif->cif->flags == FFI_TYPE_STRUCT
+ || ecif->cif->flags == FFI_TYPE_MS_STRUCT)
+ #ifdef X86_WIN64
+- && ((ecif->cif->rtype->size & (1 | 2 | 4 | 8)) == 0)
++ && (ecif->cif->rtype->size != 1 && ecif->cif->rtype->size != 2
++ && ecif->cif->rtype->size != 4 && ecif->cif->rtype->size != 8)
+ #endif
+ )
+ {
+@@ -108,7 +109,7 @@
+ #ifdef X86_WIN64
+ if (z > FFI_SIZEOF_ARG
+ || ((*p_arg)->type == FFI_TYPE_STRUCT
+- && (z & (1 | 2 | 4 | 8)) == 0)
++ && (z != 1 && z != 2 && z != 4 && z != 8))
+ #if FFI_TYPE_DOUBLE != FFI_TYPE_LONGDOUBLE
+ || ((*p_arg)->type == FFI_TYPE_LONGDOUBLE)
+ #endif
+@@ -360,7 +361,8 @@
+ #ifdef X86_WIN64
+ if (rvalue == NULL
+ && cif->flags == FFI_TYPE_STRUCT
+- && ((cif->rtype->size & (1 | 2 | 4 | 8)) == 0))
++ && cif->rtype->size != 1 && cif->rtype->size != 2
++ && cif->rtype->size != 4 && cif->rtype->size != 8)
+ {
+ ecif.rvalue = alloca((cif->rtype->size + 0xF) & ~0xF);
+ }
+@@ -545,7 +547,8 @@
+ if ((cif->flags == FFI_TYPE_STRUCT
+ || cif->flags == FFI_TYPE_MS_STRUCT)
+ #ifdef X86_WIN64
+- && ((cif->rtype->size & (1 | 2 | 4 | 8)) == 0)
++ && ((cif->rtype->size != 1 && cif->rtype->size != 2
++ && cif->rtype->size != 4 && cif->rtype->size != 8))
+ #endif
+ )
+ {
+@@ -608,7 +611,7 @@
+ #ifdef X86_WIN64
+ if (z > FFI_SIZEOF_ARG
+ || ((*p_arg)->type == FFI_TYPE_STRUCT
+- && (z & (1 | 2 | 4 | 8)) == 0)
++ && (z != 1 && z != 2 && z != 4 && z != 8))
+ #if FFI_TYPE_DOUBLE != FFI_TYPE_LONGDOUBLE
+ || ((*p_arg)->type == FFI_TYPE_LONGDOUBLE)
+ #endif