comp.lang.ada
 help / color / mirror / Atom feed
From: porton@ex-code.com (Victor Porton)
Subject: Re: Gnat: system__finalization_implementation__finalize_list
Date: Thu, 30 Jan 2003 09:28:32 +0500
Date: 2003-01-30T05:44:28+00:00	[thread overview]
Message-ID: <3e38bbbc$0$346$bed64819@news.gradwell.net> (raw)
In-Reply-To: 3e379038$0$350$bed64819@news.gradwell.net

In article <BA5E221A.1F79%yaldnifw@blueyonder.co.uk>,
	Bill Findlay <yaldnifw@blueyonder.co.uk> writes:
> On 29/1/03 23:35, in article 3e38664a$0$351$bed64819@news.gradwell.net,
> "Victor Porton" <porton@ex-code.com> wrote:
> 
>> In article <uhebrvixj.fsf@nasa.gov>,
>> Stephen Leake <Stephen.A.Leake@nasa.gov> writes:
>>> porton@ex-code.com (Victor Porton) writes:
>>> 
>>>> Ideas what this means, how to find the error?
>>>> (All checks are turned on!)
>>>> 
>>>> Program received signal SIGSEGV, Segmentation fault.
>>>> 0x40164c96 in system__finalization_implementation__finalize_list ()
>>>> from /usr/lib/libgnat-3.14p.so.1
>>> 
>>> Run under the debugger and trace up the stack.
>> 
>> It is inside of Ada libraries. To check I would need to download the
>> Gnat sources and probably recompile these :-(
>> 
>> Oh, Ada is not so reliable as I cannot find a cause of segfault with
>> all checks turned on! :-~ Like C++...
>> 
>>>> This error appears after exiting my main rountine (well, the main
>>>> rountine is not a procedure but a begin...end block of a package
>>>> body.)
>>> 
>>> That's _not_ a main routine; in Ada, the main routine must be a
>>> library level procedure. Hmm, can't find that in the LRM, maybe that's
>>> a GNAT distinction.
>> 
>> "Main rountine" was just my informal wording.
>> 
>>> The sequence of statements in a package body is executed at
>>> elaboration time, before the main program's sequence of statements.
>> 
>> No main procedure at all in my program.
> 
> So, have we got this right:
> 
> (1) You compiled a package (in effect, a library of routines, NOT a program)
> (2) You persuaded the OS to execute its object code
> (3) You complain about Ada because it does not execute entirely correctly?
> 
> What check do you expect to be able to detect this?

(1) I compiled my program whose effectively main rountine is not a 
procedure but a begin...end block of a package specifically designed to 
be used as the main rountine. It is perfectly legal accordingly ARM
(however not recommended by the style guide which I not obliged to 
follow).

(2) I executed a properly linked executable with no library level 
procedures. It is legal.

It is Gnat whose manual I have read, and theoretically should work
correctly.



  parent reply	other threads:[~2003-01-30  4:28 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-01-29  8:23 Gnat: system__finalization_implementation__finalize_list Victor Porton
2003-01-29  9:02 ` Victor Porton
2003-01-29 19:45 ` Stephen Leake
2003-01-29 23:35 ` Victor Porton
2003-01-30  0:28   ` Bill Findlay
2003-01-30  7:50   ` Wojtek Narczynski
2003-01-30 17:07   ` Stephen Leake
2003-01-30  4:28 ` Victor Porton [this message]
2003-01-30 17:08   ` Stephen Leake
2003-01-30 20:09     ` Robert A Duff
2003-01-31 10:17       ` Alexander Boucke
2003-01-31 22:11         ` Simon Wright
2003-01-30 20:38 ` Simon Wright
2003-01-31  3:19 ` Victor Porton
replies disabled

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