comp.lang.ada
 help / color / mirror / Atom feed
From: "Marin David Condic" <dont.bother.mcondic.auntie.spam@[acm.org>
Subject: Re: Curiousity: pragma No_Run_Time for Gnat
Date: Tue, 25 Sep 2001 10:00:45 -0400
Date: 2001-09-25T14:00:47+00:00	[thread overview]
Message-ID: <9oq2mf$9as$1@nh.pace.co.uk> (raw)
In-Reply-To: 9opbv7$1vg1$1@ns.felk.cvut.cz

"Sergey Koshcheyev" <serko84@hotmail.com> wrote in message
news:9opbv7$1vg1$1@ns.felk.cvut.cz...
>
> While I was doing a web search to find out what you meant (I think I
> understand the idiom now), I found several webpages providing Round Tuits
to
> people who need them :-)
>
Sorry. Kind of an American-English-ism that I should have realized might not
be obvious to a more international croud. Nevertheless, you seem to have
figured it out, so we're O.K. :-)


>
> I don't know exactly what you mean by "pure" x86 code. What you get from
the
> compiler on x86 is a 32-bit executable in the platform-specific executable
> format (ELF on Linux, PE on Win32) which isn't linked to GNAT libraries,
> though I think it may be linked dynamically to the C library. Linker
> switch -nostdlib can be used to overcome this and get a completely
> stand-alone executable (tested on Linux). Another linker switch can be
used
> to link the C library in statically (also tested on Linux). GNAT doesn't
> insert any BIOS calls in the generated code when pragma No_Run_Time is
used.
>
What I mean by "pure" (probably a misuse since the term usually refers to
reentrant code) is that what I would like as output is a collection of
instructions that rely only on the Intel x86 processor. (Or, if one were
targeting MIPS, PowerPC, whatever,... instructions for that particular
target processor) If I understand the PC architecture correctly, code can be
generated that will create interrupts that the BIOS will pick up and utilize
as a kind of subroutine - the ISR accomplishing some kind of I/O operation,
etc. If one is saying "Well, maybe I don't have a BIOS or I don't have this
particular BIOS - maybe I've just got an Intel processor with some
specialized hardware & I want to make code that doesn't assume any BIOS or
OS or DLLs or anything..." then the question is will the compiler make
appropriate code that (after passage through the correct linker, etc.) can
run on such a machine?

I suppose what I'm wondering is can the use of the No_Run_Time pragma cause
the Gnat compiler to be suitable as an embedded compiler? It doesn't matter
if you don't get full-up Ada - just that you get embeddable code or compiler
errors for any feature that might not be embeddable. (I can live with a
subset of Ada if the compiler tells me when I can't do something.)
Presumably, one could then implement the low-level operations needed by
full-up Ada (create your own runtime) so long as you could find out what
mechanisms the compiler used to get the required services from its own
runtime.

MDC
--
Marin David Condic
Senior Software Engineer
Pace Micro Technology Americas    www.pacemicro.com
Enabling the digital revolution
e-Mail:    marin.condic@pacemicro.com
Web:      http://www.mcondic.com/






  reply	other threads:[~2001-09-25 14:00 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-09-24 19:02 Curiousity: pragma No_Run_Time for Gnat Marin David Condic
2001-09-24 21:14 ` Sergey Koshcheyev
2001-09-24 21:54   ` Marin David Condic
2001-09-25  7:32     ` Sergey Koshcheyev
2001-09-25 14:00       ` Marin David Condic [this message]
2001-09-25 14:14         ` Lutz Donnerhacke
2001-09-25 19:40           ` Robert Dewar
2001-09-26  9:04             ` Lutz Donnerhacke
2001-09-25 15:20         ` Sergey Koshcheyev
2001-09-25  7:36     ` Jean-Marc Bourguet
2001-09-25  7:43   ` Peter Amey
2001-09-25 14:02     ` Marin David Condic
     [not found] <Pine.LNX.4.33.0109251343310.2841-100000@lagoa.niaad.liacc.up.pt>
2001-09-25 13:20 ` David C. Hoos
  -- strict thread matches above, loose matches on Subject: below --
2001-09-25 14:09 M. A. Alves
2001-09-25 13:05 ` chris.danx
2001-09-25 13:07 ` Jacob Sparre Andersen
2001-09-25 13:37 ` Sergey Koshcheyev
     [not found] <Pine.LNX.4.33.0109251630310.3066-100000@lagoa.niaad.liacc.up.pt>
2001-09-25 14:48 ` Samuel Tardieu
2001-09-25 16:49 M. A. Alves
2001-09-25 15:05 ` chris.danx
2001-09-25 15:38   ` Marin David Condic
2001-09-25 17:07 M. A. Alves
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox