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.
next prev 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