From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26431 invoked by alias); 15 Dec 2008 23:40:42 -0000 Received: (qmail 26234 invoked by uid 48); 15 Dec 2008 23:39:21 -0000 Date: Mon, 15 Dec 2008 23:40:00 -0000 Message-ID: <20081215233921.26233.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug target/38496] Gcc misaligns arrays when stack is forced follow the x8632 ABI In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "whaley at cs dot utsa dot edu" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2008-12/txt/msg01566.txt.bz2 ------- 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