From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6094 invoked by alias); 10 Apr 2003 16:35:55 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 6057 invoked from network); 10 Apr 2003 16:35:54 -0000 Received: from unknown (HELO faui11.informatik.uni-erlangen.de) (131.188.31.2) by sources.redhat.com with SMTP; 10 Apr 2003 16:35:54 -0000 Received: (from weigand@localhost) by faui11.informatik.uni-erlangen.de (8.9.1/8.1.4-FAU) id SAA08014; Thu, 10 Apr 2003 18:32:28 +0200 (MET DST) From: Ulrich Weigand Message-Id: <200304101632.SAA08014@faui11.informatik.uni-erlangen.de> Subject: Re: DATA_ALIGNMENT vs. DECL_USER_ALIGNMENT To: geoffk@geoffk.org (Geoff Keating) Date: Thu, 10 Apr 2003 16:44:00 -0000 Cc: weigand@immd1.informatik.uni-erlangen.de (Ulrich Weigand), kenner@vlsi1.ultra.nyu.edu, gcc@gcc.gnu.org, gcc-patches@gcc.gnu.org In-Reply-To: from "Geoff Keating" at Apr 10, 2003 09:18:40 AM MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-SW-Source: 2003-04/txt/msg00432.txt.bz2 Geoff Keating wrote: > I'd consider this a bug *somewhere*. I'd think that if the Ada > frontend is going to do this, then in the C sources the variables need > to be marked with the appropriate alignment. If I use this patch in addition to the s390 backend fix, Ada bootstrap goes through on 64-bit: Index: gcc/ada/bindgen.adb =================================================================== RCS file: /cvs/gcc/gcc/gcc/ada/bindgen.adb,v retrieving revision 1.9 diff -c -p -r1.9 bindgen.adb *** gcc/ada/bindgen.adb 15 Nov 2002 01:45:29 -0000 1.9 --- gcc/ada/bindgen.adb 10 Apr 2003 02:20:56 -0000 *************** package body Bindgen is *** 485,491 **** begin if U.Set_Elab_Entity then ! Set_String (" extern char "); Get_Name_String (U.Uname); Set_Unit_Name; Set_String ("_E;"); --- 485,491 ---- begin if U.Set_Elab_Entity then ! Set_String (" extern char __attribute__((__aligned__(1))) "); Get_Name_String (U.Uname); Set_Unit_Name; Set_String ("_E;"); I'm not sure whether this is the preferred fix; in particular I don't understand why those variables need to have forced alignment in the first place ... Bye, Ulrich -- Dr. Ulrich Weigand weigand@informatik.uni-erlangen.de