[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#785756: marked as done (libffi: bug on arm64 when passing small struct on stack)



Your message dated Wed, 08 Jul 2015 19:56:56 +0200
with message-id <559D6468.4090000@debian.org>
and subject line fixed in 3.2.1-2
has caused the Debian Bug report #785756,
regarding libffi: bug on arm64 when passing small struct on stack
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
785756: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=785756
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Source: libffi
Version: 3.1-2
Tags: patch

The latest python-cffi (0.9.2-2) seems to have exposed a bug in libffi
on arm64:

https://buildd.debian.org/status/package.php?p=python-cffi&suite=sid

It seems to involve the case of small structs, that could be passed in
registers, being passed on the stack when there are insufficient
argument registers available.

The attached patch seems to fix the problem.

You'll want to check the logic carefully, and, if you were expecting
libffi's tests to detect that kind of thing, perhaps check that, too.

Thanks.
--- src/aarch64/ffi.c.orig	2015-05-19 19:07:14.460000000 +0000
+++ src/aarch64/ffi.c	2015-05-19 19:07:32.660000000 +0000
@@ -728,7 +728,7 @@
 	      state.ngrn = N_X_ARG_REG;
 
 	      memcpy (allocate_to_stack (&state, stack, ty->alignment,
-					 ty->size), ecif->avalue + i, ty->size);
+					 ty->size), ecif->avalue[i], ty->size);
 	    }
 	  break;
 

--- End Message ---
--- Begin Message ---
Version: 3.2.1-2

Fixed in 3.2.1-2

--- End Message ---

Reply to: