Subject: Re: 1.2 release of GNAT?
To: None <port-arm32@NetBSD.ORG>
From: Peter Burwood <riscbsd@arcangel.dircon.co.uk>
List: port-arm32
Date: 12/02/1996 23:38:59
In message <9612021611.ZM16475@physig4.ph.kcl.ac.uk>
          "Mark Brinicombe" <amb@physig4.ph.kcl.ac.uk> wrote:

> >The first non-trivial file I tried to compile using GNAT caused it to crash
> >with a "Translation fault" (followed by some debugging messages from the
> >kernel). GNAT then reported that it had received a fatal signal 11.
> >
> >I compiled a "Hello World" file OK, so GNAT seems to be installed correctly.
> >
> >Perhaps this is a kernel problem? However, I hope that a new release of
> >GNAT might cure the problem.
> >
> >(I am using kernel SA-4740 with 16+2M of memory)

I've not used RiscBSD since upgrading to my StrongARM due to disc problems.
Hopefully these are almost sorted out and I'll download the new kernel
and upgrade to 1.2 soon.

BTW, it is possible to upgrade to StrongARM 1.2 from 1.1 isn't it ?

> Most likely its gnat. I am not mainting gnat so it is dependant on a 3rd
> party. Neil (or was it Pete Burwood) build the gnat 3.03 distrib on line
> so I expect a new version will not appear until one of them ports a new
> version.

I ported it and I'll fix it as soon as I have upgraded. In the mean time
a StrongARM compatible version of GNAT 3.03 for RISC OS is available
from

   http://www.users.dircon.co.uk/~arcangel/files/index.html

> If this is a problem that has appeared since switching to a SA110 then
> there is a possible kernel problem (See my next post).

I suspect the problem is due to a trampoline in the compiler (there is
one 3.01 and I think still only one in 3.03). Trampolines, as I
mentioned to Mark at Acorn World, generate code on the stack and thus
need a cache synchronisation. I have fixed the GCC backend for RISC OS,
and I'll need to do the same for RiscBSD. However, I need to know the
RiscBSD equivalent of OS_SynchroniseCodeAreas. Mark, can you tell me the
name of the function to call, thanks. Preferably one that takes a start
and end address rather than needing to flush both caches completely.

regards,
Pete