This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [Ada] Anyone else run ACATS on ARM?


On Sat, 2009-08-22 at 23:33 +0200, Laurent GUERBY wrote:
> On Mon, 2009-08-17 at 12:00 +0200, Mikael Pettersson wrote:
> > On Wed, 12 Aug 2009 23:08:00 +0200, Matthias Klose <doko@debian.org> wrote:
> > >On 12.08.2009 23:07, Martin Guy wrote:
> > >> On 8/12/09, Joel Sherrill<joel.sherrill@oarcorp.com>  wrote:
> > >>>   So any ACATS results from any other ARM target would be
> > >>>   appreciated.
> > >>
> > >> I looked into gnat-arm for the new Debian port and the conclusion was
> > >> that it has never been bootstrapped onto ARM. The closest I have seen
> > >> is Adacore's GNATPro x86->xscale cross-compiler hosted on Windows and
> > >> targetting Nucleus OS (gak!)
> > >>
> > >> The community feeling was that it would "just go" given a prodigal
> > >> burst of cross-compiling, but I never got achieved sufficiently high
> > >> blood pressure to try it...
> > >
> > >is there any arm-linx-gnueabi gnat binary that could be used to bootstrap an 
> > >initial gnat-4.4 package for debian?
> >  > 
> >  >    Matthias
> > 
> > Yes, see <http://user.it.uu.se/~mikpe/linux/arm-eabi-ada/>.
> 
> Nice work!
> 
> Looks like Ada exception propagation (setjmp/longjmp based) is broken at
> least in some cases (see below), that might explain the high number of
> ACATS failure.
> 
> My understanding is that
> 
>   EH_MECHANISM=-gcc
> 
> is not correct for sjlj exceptions so I removed this line from the patch
> and I'm currently testing with trunk.

With this change plus the gcc/ada/gcc-interface/targtyps.c one
I get very good native arm ACATS and gnat.dg results:

http://gcc.gnu.org/ml/gcc-testresults/2009-08/msg03024.html

<<
Native configuration is armv5tel-unknown-linux-gnueabi

		=== acats tests ===
FAIL:	c250001
FAIL:	c37105a
FAIL:	c43205b

		=== acats Summary ===
# of expected passes		2311
# of unexpected failures	3

		=== gnat tests ===


Running target unix
FAIL: gnat.dg/test_raise_from_pure.adb execution test
FAIL: gnat.dg/warn5.adb (test for excess errors)

		=== gnat Summary ===

# of expected passes		682
# of unexpected failures	2
# of expected failures		5
>>

It would be nice to have a ZCX port but so far the sjlj exceptions
based port works fine.

I'm attaching the patch for reference, I'm away at ICFP09 next week.

Laurent

c250001.a:1:01: warning: file contains no compilation units
no compilation units found
no source files written
BUILD
FAIL:   c250001
(=> probably due to NFS use)

,.,. C37105A ACATS 2.5 09-08-29 00:53:53
---- C37105A RECORDS WITH ONLY DISCRIMINANTS.
   * C37105A DISCRIMINANT-ONLY RECORDS DON'T WORK.
**** C37105A FAILED ****************************.

/home/guerby/build/gcc/xgcc -c -B/home/guerby/build/gcc/ -gnatws -O2 -I/home/guerby/build/gcc/testsuite/ada/acats/support c43205b.adb
+===========================GNAT BUG DETECTED==============================+
| 4.5.0 20090822 (experimental) [trunk revision 151016] (armv5tel-unknown-linux-gnueabi) GCC error:|
| tree check: expected integer_cst, have var_decl in int_const_binop,      |
|     at fold-const.c:1668                                                 |
| Error detected around c43205b.adb:82:5                                   |
| Please submit a bug report; see http://gcc.gnu.org/bugs.html.            |
| Use a subject line meaningful to you and us to track the bug.            |
| Include the entire contents of this bug box in the report.               |
| Include the exact gcc or gnatmake command that you entered.              |
| Also include sources listed below in gnatchop format                     |
| (concatenated together with no headers between files).                   |
+==========================================================================+

Please include these source files with error report
Note that list may not be accurate in some cases,
so please double check that the problem can still
be reproduced with the set of files listed.
Consider also -gnatd.n switch (see debug.adb).

/home/guerby/build/gcc/ada/rts/system.ads
c43205b.adb
/home/guerby/build/gcc/testsuite/ada/acats/support/report.ads


raised TYPES.UNRECOVERABLE_ERROR : comperr.adb:423
gnatmake: "c43205b.adb" compilation error
FAIL:   c43205b

raised CONSTRAINT_ERROR : raise_from_pure.adb:5 explicit raise
FAIL: gnat.dg/test_raise_from_pure.adb execution test

warn5.adb:29:30: warning: source alignment (4) < alignment of "Element_Type" (8)^M
output is:
warn5.adb:29:30: warning: source alignment (4) < alignment of "Element_Type" (8)^M

FAIL: gnat.dg/warn5.adb (test for excess errors)
Excess errors:
warn5.adb:29:30: warning: source alignment (4) < alignment of "Element_Type" (8)

Attachment: patch-arm-v3.txt
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]