<div dir="ltr">Hi Igor,<br><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Jan 17, 2014 at 5:02 AM, Igor Stasenko <span dir="ltr">&lt;<a href="mailto:siguctua@gmail.com" target="_blank">siguctua@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"> <br><div dir="ltr"><div><div><div><div><div><img src="https://mail.google.com/mail/images/cleardot.gif" alt="">From:</div>
<a href="http://sourceforge.net/p/fbc/bugs/659/" target="_blank">http://sourceforge.net/p/fbc/bugs/659/</a><br>
<br>&quot;The GCC devs decided to unilaterally change the Linux x86 ABI <span>[1]</span> <span>[2]</span> <span>[3]</span> <span>[4]</span>.
 I&#39;m not sure when this happened, but I think it first became a common 
problem with GCC 4.1. Previously the Linux x86 ABI was the &quot;SysV i386 
ABI&quot;, which stated that the stack is aligned to a 4-byte boundary on 
function entry. GCC now assumes by default that the stack is aligned to a
 16-byte boundary. This is an very controversial issue with the GCC devs
 saying they have changed the ABI, and many other people considering the
 SysV ABI to be the real ABI and GCC to be buggy. GCC Bugzilla is full 
of flamewars. GCC devs have said &quot;GCC chose to change the <em>unwritten</em> standard for the ABI in use for IA32 GNU/Linux&quot; and &quot;The ABI is undocumented; that is reality&quot; <span>[3]&quot;</span><br><br>

</div>basically, it affects everything which dealing with generated code.<br></div>like JIT/FFI.<br><br></div>Now it explains why NB started crashing on never versions of ubuntu,<br></div>while worked well before.</div></blockquote>
<div><br></div><div>But Mac OS X has had 16-byte alignment for the entirety of Mac OS X on x86.  And so Cog has used 16-byte alignment on linux also for a long time now.  I don&#39;t think this is too much of a departure from the  SysV i386 ABI.  A change in what registers are callee-saved, what register is the result register etc would be disastrous.  There are other changes which would be welcome too, such as returning float results through SSE registers instead of though the, frankly obsolete, x87 stack.  So I don&#39;t think this is cause to throw up one&#39;s hands, Robbie style ;-)</div>
</div><div><br></div>-- <br>best,<div>Eliot</div>
</div></div>