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 11:38:25 -0400
Date: 2001-09-25T15:38:27+00:00	[thread overview]
Message-ID: <9oq8dj$bkj$1@nh.pace.co.uk> (raw)
In-Reply-To: j31s7.2446$L4.520357@news6-win.server.ntlworld.com

I never should have used the word "Pure"! :-)

There's one possibility for "Pure" which (at least it used to) refers to
reentrant code. Then there seems to be some usage of it here to mean what
used to be called "Absolute" code - code in which all of the addresses have
been resolved to some physical (or logical, in the case of machines that do
some form of memory-mapping/page table management) address. Then there's the
kind of code I was interested in - code that may be full of relocatable
addresses and may not even be reentrant, but after passing through some
appropriate linker/loader, ends up containing no calls to an OS or DLLs or
runtime that wasn't supplied explicitly to the linker or interrupts to a
BIOS that may or may not exist, etc. IOW, machine instructions that will run
without any other assumptions about what else may be available beyond the
target processor.

I don't know what term people might use to describe that sort of code
generation, but I was interested in code generation that did not make any
calls or traps to an environment that may not be there. I don't know if the
pragma No_Run_Time accomplishes this or not - or if it works the same way
for all targets. I'm hearing that this was not the intended use of the
pragma (which I understand) but I was wondering if it was a useful side
effect.

What everyone else is interested in, I could only speculate on, but I hope
this serves to clarify the terminology a little.

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/


"chris.danx" <chris.danx@ntlworld.com> wrote in message
news:j31s7.2446$L4.520357@news6-win.server.ntlworld.com...
>
> "M. A. Alves" <maa@liacc.up.pt> wrote in message
> news:mailman.1001428823.15394.comp.lang.ada@ada.eu.org...
> > The Meanings of "Pure" II
> >
> > Sergey wrote:
> > > Well, GNAT has to generate the object files in *some* format, and
> > > unless you have a cross-compiling version, it'll be ELF on Linux and
> > > PE (COFF) on Win32.
> >
> > You mean there is no plain x86 code?  A simple sequence of machine code
> > instructions?  "Pure" code?
>
> Pure code being that which does not contain interrupts/os calls?  Or pure
in
> the sense that it is not in an object file?  Or that which is not
protected
> mode code?
>
> > Is the good old Van Neuman architecture at risk?
>
> Why would it be?  Von Neuman may die due to something like CA-effectant
> computers (which would be ironic) or the RAW architecture but they're
> immature.  Object files do not present a threat to Von Neumann machines,
in
> fact they're part of why it's so popular (they make things easier, hence
> aiding popularity).
>
>
> > (I am no guru with object code formats, but there must be a neutral one,
> > with no "brand" on it (except the processor's).  I assume ELF or PE or
> > COFF is not such a thing, or else this discussion is meaningless.)
>
> No.  You misunderstand the function of an object file.  It's intended to
> provide a structure to a file, and contains information that allows a
linker
> or loader to locate routines.  All formats are technically neutral, it's
> just that on windows COFF is used more than ELF and on Linux the reverse.
>
> > Personally for the hobby OS in Ada I am only interested in a "pure"
> > approach.  No fancy loaders, no branded formats, in sum no dependencies:
> > pure = truly free.
>
> I suppose you could get a bootstrap to load a plain binary file, but you'd
> still need to compile to ELF on Linux, or COFF on windows and link your
> modules together into the plain format.  However the problem is that it
> removes structure from the file and *could* complicate matters later.
>
>
> I really don't understand what you mean by "pure" or why Object File
Formats
>  are so bad.
>
>
>
> Chris
>
>
>





  reply	other threads:[~2001-09-25 15:38 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-09-25 16:49 Curiousity: pragma No_Run_Time for Gnat M. A. Alves
2001-09-25 15:05 ` chris.danx
2001-09-25 15:38   ` Marin David Condic [this message]
  -- strict thread matches above, loose matches on Subject: below --
2001-09-25 17:07 M. A. Alves
     [not found] <Pine.LNX.4.33.0109251630310.3066-100000@lagoa.niaad.liacc.up.pt>
2001-09-25 14:48 ` Samuel Tardieu
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.0109251343310.2841-100000@lagoa.niaad.liacc.up.pt>
2001-09-25 13:20 ` David C. Hoos
2001-09-24 19:02 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
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
replies disabled

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