From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22202 invoked by alias); 29 Nov 2001 22:49:49 -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 22090 invoked from network); 29 Nov 2001 22:49:40 -0000 Received: from unknown (HELO anagyris.wanadoo.fr) (193.252.19.151) by hostedprojects.ges.redhat.com with SMTP; 29 Nov 2001 22:49:40 -0000 Received: from andira.wanadoo.fr (193.252.19.152) by anagyris.wanadoo.fr; 29 Nov 2001 23:49:37 +0100 Received: from ulmo.localdomain (193.251.48.242) by andira.wanadoo.fr; 29 Nov 2001 23:49:35 +0100 Received: (from guerby@localhost) by ulmo.localdomain (8.11.6/8.11.6) id fATMhlF00491; Thu, 29 Nov 2001 23:43:47 +0100 Date: Thu, 22 Nov 2001 00:18:00 -0000 Message-Id: <200111292243.fATMhlF00491@ulmo.localdomain> X-Authentication-Warning: ulmo.localdomain: guerby set sender to guerby@acm.org using -f From: To: schwab@suse.de CC: gcc@gcc.gnu.org In-reply-to: (message from Andreas Schwab on 29 Nov 2001 23:21:09 +0100) Subject: Re: New Ada build problem on ia64 Reply-to: guerby@acm.org References: X-SW-Source: 2001-11/txt/msg01087.txt.bz2 > The problem reappeared with the stage2 compiler, so it seems like it got > miscompiled by the stage1 compiler. If you have an IA32 to IA64 compiler able to produce IA64 executables from Ada sources, may be it would be better to start by compiling simple Ada programs (at least simpler than the whole Ada compiler :) to check if they work. I attached a standalone Ada program to start with, if you're able to make this work, then I can feed you with more tests (tomorrow Paris time, need to sleep right now :). I have included a C wrapper if you have problem binding and/or linking Ada with the cross tools. -- Laurent Guerby $ cat t1c.c extern void _ada_t1 (void); int main (void) { _ada_t1 (); return 0; } $ cat t1.adb procedure T1 is type AC is access all Character; type Str is array (Positive range <>) of aliased Character; procedure P (X : in AC); pragma Import (C, P, "printf"); LF : constant Character := Character'Val (10); Z : constant Character := Character'Val (0); S1 : aliased Str := "Hello" & LF & Z; S2 : aliased Str := "Loop" & LF & Z; begin P (S1 (1)'Access); for I in 1 .. 2 loop P (S2 (1)'Access); end loop; end T1; $ gcc -c t1.adb $ gcc -o t1 t1c.c t1.o $ ./t1 Hello Loop Loop $ From mboxrd@z Thu Jan 1 00:00:00 1970 From: To: schwab@suse.de Cc: gcc@gcc.gnu.org Subject: Re: New Ada build problem on ia64 Date: Thu, 29 Nov 2001 14:49:00 -0000 Message-ID: <200111292243.fATMhlF00491@ulmo.localdomain> References: X-SW-Source: 2001-11/msg01588.html Message-ID: <20011129144900.qYQz0a7xnD8PMZUDELeQjdt3sYxvd4lWOn3owIL4ehM@z> > The problem reappeared with the stage2 compiler, so it seems like it got > miscompiled by the stage1 compiler. If you have an IA32 to IA64 compiler able to produce IA64 executables from Ada sources, may be it would be better to start by compiling simple Ada programs (at least simpler than the whole Ada compiler :) to check if they work. I attached a standalone Ada program to start with, if you're able to make this work, then I can feed you with more tests (tomorrow Paris time, need to sleep right now :). I have included a C wrapper if you have problem binding and/or linking Ada with the cross tools. -- Laurent Guerby $ cat t1c.c extern void _ada_t1 (void); int main (void) { _ada_t1 (); return 0; } $ cat t1.adb procedure T1 is type AC is access all Character; type Str is array (Positive range <>) of aliased Character; procedure P (X : in AC); pragma Import (C, P, "printf"); LF : constant Character := Character'Val (10); Z : constant Character := Character'Val (0); S1 : aliased Str := "Hello" & LF & Z; S2 : aliased Str := "Loop" & LF & Z; begin P (S1 (1)'Access); for I in 1 .. 2 loop P (S2 (1)'Access); end loop; end T1; $ gcc -c t1.adb $ gcc -o t1 t1c.c t1.o $ ./t1 Hello Loop Loop $