summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnthony Green <green@moxielogic.com>2017-10-10 23:19:57 -0400
committerGitHub <noreply@github.com>2017-10-10 23:19:57 -0400
commit1c9171ec89943d9b4b10a54091c8b5c104eb258d (patch)
treec6c26f1ba0148751e576a406e6b9e69474474a0f
parent9f1f8741b2ec0c8898ecff7b93005627b915dd02 (diff)
parent7ad0ae7f42f3e208431ab66a9032dc9549f978d0 (diff)
downloadlibffi-1c9171ec89943d9b4b10a54091c8b5c104eb258d.tar.gz
Merge pull request #324 from compnerd/arm-zext
arm: zext return value parameters
-rw-r--r--src/arm/ffi.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/arm/ffi.c b/src/arm/ffi.c
index b4fb5b6..12ce04a 100644
--- a/src/arm/ffi.c
+++ b/src/arm/ffi.c
@@ -419,6 +419,11 @@ ffi_prep_incoming_args_SYSV (ffi_cif *cif, void *rvalue,
rvalue = *(void **) argp;
argp += 4;
}
+ else
+ {
+ if (cif->rtype->size && cif->rtype->size < 4)
+ **(int32_t **) rvalue = 0;
+ }
for (i = 0, n = cif->nargs; i < n; i++)
{