[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

GNAT/RTEMS & floating point




On Mon, 15 Feb 1999, Jiri Gaisler wrote:

> joel at OARcorp.com wrote:
> > 
> > On Thu, 11 Feb 1999, Tony R. Ambardar wrote:
> > 
> > > I've built GNAT/RTEMS (both gnat-3.10p and gnat-3.11p) for my i386-based
> > > board, and one of the Ada programs I tried was the dining philosophers
> > > example that comes with GNAT, diners.adb et al. Unfortunately, it hangs my
> > > system in the middle of running.
> 
> This seems to be a bsp related problem - on sparc/erc32 diners.adb work
> fine with gnat-3.11p/rtems-4.0.0/newlib-1.8.1 (although it fails with
> 3.10p).

There is no software FP emulation for the i386.

> > Based on my tests 3.11p should not have been that difficult to build.  The
> > gnat gdb patch breaks building the rtems targets.
> 
> It is the treads support in gdb which is broken for rtems, linking fails
> due to an unresolved reference to a function (forgot which one). The fix
> is simple - define the missing function somewhere and let it always
> return zero.

If you see a better way to fix this problem, I would appreciate it.  I
have done the same fix myself.  The ifdef's in ada-tasks.c are IMO
horribly incorrect.  It looks like VXWORKS_TARGET is a hack to avoid
building native when the target is vxworks.  There is no attempt in this
code or the configure.in to deal with real cross issues.  I was hoping for
a -DCROSS_COMPILER like in gcc and then do something clean.  Suggestions
appreciated.

--joel
Joel Sherrill                    Director of Research & Development
joel at OARcorp.com                 On-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805
   Support Available             (256) 722-9985