<div id="__MailbirdStyleContent" style="font-size: 10pt;font-family: Arial;color: #000000;text-align: left" dir="ltr">Hi Eliot, hi all --<div class="mb_sig"></div><div><br></div><div>There is an issue with pushing certain struct args with doubles before the callout. Works fine through Rosetta (macos64x64), crashes otherwise (macos64ARMv8).</div><div><br></div><div>The following tests produce the crash. A breakpoint in sqFFITestFuncs.c shows that the function args are not correct:</div><div><br></div><div>FFIPluginTests >> #testSumStructSslf</div><div>FFIPluginTests >> #testSumStructSslf2<br></div><div>FFIPluginTests >> #testSumStructSslf4<br></div><div><br></div><div>FFIPluginTests >> #testSumStructSSdi5<br></div><div><br></div><div>FFIPluginTests >> #testSumdiStructWithStructSdi4<br></div><div>FFIPluginTests >> #testSumiStructWithStructSdi4<br></div><div><br></div><div>My hypothesis is that there is an issue with pushing integer-float combinations such as:</div><div><br></div><div>int16_t int64_t float ... slf</div><div>double int32_t ... di</div><div><br></div><div>Yet, the funny thing is that the following tests do not crash even though they also use "di" structs:</div><div><br></div><div>FFIPluginTests >> #testSumStructSdi</div><div>FFIPluginTests >> #testSumStructSdi2<br></div><div>FFIPluginTests >> #testSumStructSdi4<br></div><div><br></div><div>Since nothing serious happens in <span style="font-size: 10pt">sqFFITestFuncs.c and everything is fine on X86(_64) builds, I suspect that argument pushing has a bug. Maybe even on all ARMv8 builds.</span></div><div><span style="font-size: 10pt"><br></span></div><div><span style="font-size: 10pt">Could somebody check on Linux? Bruce?</span></div><div><br></div><div>Best,</div><div>Marcel</div></div>