This is the mail archive of the libffi-discuss@sourceware.org mailing list for the libffi project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: libffi ABI change causes stack corruption on Debian


On Thu, Nov 21, 2013 at 09:08:25AM +1030, Alan Modra wrote:
> Shame on me for not thinking of these shared library issues..
> 
> ELFv2 needs those extra fields because ELFv2 doesn't always have a
> parameter save area.  Therefore we don't have the luxury of writing fp
> values to both an fpr save area (used when passing fp values in fprs)
> and the parameter save area (used when passing fp values on the
> stack).  This in turn means we must distinguish calls to functions
> with variable arguments from calls to normal functions.  Prior to the
> patch series you identify above, powerpc libffi did not do that.  So
> to be backwards compatible, for ELFv1 I need to avoid use of the extra
> fields and continue to write fp values to both fpr and parameter save
> areas.  This is a royal pain, but possible, I think.
> 
> Anthony, please hold off on merging
> https://sourceware.org/ml/libffi-discuss/2013/msg00218.html which has
> even worse backwards compatibility issues with cif->abi values.

Attached is a replacement for
https://sourceware.org/ml/libffi-discuss/2013/msg00218.html that fixes
backwards compatibility issues.

-- 
Alan Modra
Australia Development Lab, IBM

Attachment: 0003-Tidy-powerpc-linux-support.patch.gz
Description: Binary data


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]