On Thu, Feb 13, 2014 at 05:18:10PM +0100, Eric Botcazou wrote:
> This adds proper variadic support to the SPARC port of libffi, thus fixing a 
> regression in the testsuite in 64-bit mode, and fixes a small inaccuracy in 
> the documentation.
> 
> Tested on SPARC/Solaris and SPARC64/Solaris, applied on the mainline.

> +ffi_status ffi_prep_cif_machdep(ffi_cif *cif)
> +{
> +  cif->nfixedargs = cif->nargs;
> +  return ffi_prep_cif_machdep_core (cif);
> +}

Eric, sorry to rain on your parade, but you're making the same mistake
I did at first when adding powerpc64le support to libffi.  libffi is
built as a shared library.  You can't add a field to ffi_cif like this
and uncondionally write to it:  An application linked against an older
version of libffi will only allocate the old size ffi_cif.  Your new
shared library will trash some random location in the old user app..
I worked around this problem on powerpc by defining new enum ffi_abi
values so that you can recognize an old app.

-- 
Alan Modra
Australia Development Lab, IBM

Reply via email to