------- Comment #19 from whaley at cs dot utsa dot edu  2008-12-15 23:39 -------
>There is the problem, LSB did the incorrect thing of thinking the written 
>standard applied to what really was being done when the LSB was doing its 
>work.  Standards are made to be amended.  Witness how many RFCs there are and 
>how many make previous ones outdated.

Actually, standards are made to make interoperation work, which only works if
people follow them.  Amending is fine, ignoring or extending them without
amending them is not.  The idea that LSB made the error rather than you folks
is hubris at best.  If you thought the standard adopted by LSB was the wrong
one, you should have participated in the process and fixed it.  It would have
been difficult on this stack point, because the convenience of avoiding two
operations in the preamble and one in the epilogue would almost certainly have
convinced any standards body to break backwards compatibility (and this ABI
standard has been around a long while).

gcc used to follow this standard, and later decided to break it.  You guys are
saying that not only do you not follow this standard, but you don't follow
*any* ABI standard.  OK, but don't tell me its because there is/was no
standard, because there both is and was.  Don't tell me it cannot be used with
modern architectures, because it obviously can.  Don't tell me its everyone
else's fault, and you guys are doing the right thing.  You broke a standard you
used to follow for the convenience of having an aligned stack (as your
contemporaneous e-mail shows), so you lost standards compliance for essentially
zero gain.  You are of course free to make your compiler do anything you want
to do, but this BS about their being no standard, or the standard being
unusable with SSE does not cut it.

Thanks,
Clint


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38496

Reply via email to