comp.lang.ada
 help / color / mirror / Atom feed
* Gnat-3.04 source; builtin_setjmp/builtin_longjmp
@ 1996-06-06  0:00 David Mann
  1996-06-07  0:00 ` Jesus M. Gonzalez
  1996-06-08  0:00 ` Robert Dewar
  0 siblings, 2 replies; 4+ messages in thread
From: David Mann @ 1996-06-06  0:00 UTC (permalink / raw)



Has anyone found that they cannot built GNAT-3.04 from source because
the target platform does not support the routines 'builtin_setjmp'
and 'builtin_lonjmp'.  If so, are they any ideas on what some
replacement routines (in C I presume) would look like?

-- David Mann






^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Gnat-3.04 source; builtin_setjmp/builtin_longjmp
  1996-06-06  0:00 Gnat-3.04 source; builtin_setjmp/builtin_longjmp David Mann
@ 1996-06-07  0:00 ` Jesus M. Gonzalez
  1996-06-08  0:00   ` Robert Dewar
  1996-06-08  0:00 ` Robert Dewar
  1 sibling, 1 reply; 4+ messages in thread
From: Jesus M. Gonzalez @ 1996-06-07  0:00 UTC (permalink / raw)



In article <1996Jun6.142139.25487@relay.nswc.navy.mil> dmann@relay.nswc.navy.mil (David Mann) writes:

   From: dmann@relay.nswc.navy.mil (David Mann)
   Keywords: GNAT 
   Newsgroups: comp.lang.ada
   Date: Thu, 6 Jun 1996 14:21:39 GMT
   Organization: CSC
   Path: ordago.gsyc.inf.uc3m.es!news.rediris.es!news.belnet.be!news.sri.ucl.ac.be!jussieu.fr!fdn.fr!uunet!in2.uu.net!salliemae!newsfeed.internetmci.com!swrinde!sdd.hp.com!night.primate.wisc.edu!relay!relay.nswc.navy.mil!dmann
   Sender: news@relay.nswc.navy.mil
   Lines: 8

   Has anyone found that they cannot built GNAT-3.04 from source because
   the target platform does not support the routines 'builtin_setjmp'
   and 'builtin_lonjmp'.  If so, are they any ideas on what some
   replacement routines (in C I presume) would look like?

   -- David Mann

	Hi!

	As long as I know, builtin_*jmp are "builtin" functions,
this meaning that rather than been present in some library which
is serached at link time, gcc generates code for them at compile time.
As a consecuence, you *need* to compile gnat with a proper version
of gnat (or gcc for that matter). As long as I know, 
builtin_*jmp are used only in two C files present in the gnat RTS.
That means that you need to compile the RTS with the correct
version of Gnat, which in turn is (for gnat-3.04) gnat-3.04,
because of the patchs to gcc it includes.

	In other words, I think you are trying to compile the RTS
with a non-patched version of gcc. Be sure of having succesfully
aplied the patch to gcc which comes with gnat-3.04 distribution,
and that you are using the compiler gnerated in the two first stages
of compilation for compiling the RTS. The procedure to build
Gnat described in the README works this way.

	If you are doing this, and still are having problems,
drop me a line, and I can send you more details.

		Jesus.




^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Gnat-3.04 source; builtin_setjmp/builtin_longjmp
  1996-06-06  0:00 Gnat-3.04 source; builtin_setjmp/builtin_longjmp David Mann
  1996-06-07  0:00 ` Jesus M. Gonzalez
@ 1996-06-08  0:00 ` Robert Dewar
  1 sibling, 0 replies; 4+ messages in thread
From: Robert Dewar @ 1996-06-08  0:00 UTC (permalink / raw)



David Mann said

"Has anyone found that they cannot built GNAT-3.04 from source because
the target platform does not support the routines 'builtin_setjmp'
and 'builtin_lonjmp'.  If so, are they any ideas on what some
replacement routines (in C I presume) would look like?
"

Well I trust you saw my post replying on this. One thing to realize is
that built-in means built-in, i.e. built into the C compiler, there
are no replacement routines in C or any other language for that matter.
Builtin routines in GCC are like intrinsic routines in Ada 95.





^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Gnat-3.04 source; builtin_setjmp/builtin_longjmp
  1996-06-07  0:00 ` Jesus M. Gonzalez
@ 1996-06-08  0:00   ` Robert Dewar
  0 siblings, 0 replies; 4+ messages in thread
From: Robert Dewar @ 1996-06-08  0:00 UTC (permalink / raw)



David Mann wrote

   "Has anyone found that they cannot built GNAT-3.04 from source because
   the target platform does not support the routines 'builtin_setjmp'
   and 'builtin_lonjmp'.  If so, are they any ideas on what some
   replacement routines (in C I presume) would look like?"

You need to do the build as follows, no shortcuts will work:

1. Build a new version of the C compiler
2. Build a new version of libgcc
3. Build GNAT making *sure* that you use the new C compiler and libgcc
You won't have any trouble if you do that. Most remaining problems come
from people not really following step 3 (they accidentally use an old C
compiler or an old libgcc).

Symptoms of failing to follow the proper procedure include:

  1. Complaints about missing externals for builtin setjmp, longjmp
       (this means that you are not using the new C compiler)


  2. Complaints about missing external for __dummy
       (this means that you are not using the new libgcc)

  3. Blowup during compiling the library (typically at a-ncelfu)
       (this means you have built GNAT inconsistently, partly using
        the new stuff and partly the old).






^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~1996-06-08  0:00 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1996-06-06  0:00 Gnat-3.04 source; builtin_setjmp/builtin_longjmp David Mann
1996-06-07  0:00 ` Jesus M. Gonzalez
1996-06-08  0:00   ` Robert Dewar
1996-06-08  0:00 ` Robert Dewar

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