comp.lang.ada
 help / color / mirror / Atom feed
From: Warren <ve3wwg@gmail.com>
Subject: Re: Autoconf & gnat Help Needed
Date: Tue, 27 Apr 2010 13:21:09 +0000 (UTC)
Date: 2010-04-27T13:21:09+00:00	[thread overview]
Message-ID: <Xns9D675F257923AWarrensBlatherings@188.40.43.213> (raw)
In-Reply-To: hr61ms$fsh$2@news.eternal-september.org

Alex R. Mosteo expounded in
news:hr61ms$fsh$2@news.eternal-september.org: 

> Warren wrote:
> 
>> Stephen Leake expounded in news:82fx2lm74h.fsf@stephe-leake.org:
>> 
>>> Warren <ve3wwg@gmail.com> writes:
>>> 
>>>> Vadim Godunko expounded in
>>>> news:5867de55-7ca2-4c64-a72f-d2343153eef0 
>>>> @k36g2000yqn.googlegroups.com: 
>>>>
>>>>> On Apr 23, 5:44 pm, Warren <ve3...@gmail.com> wrote:
>>>>>>
>>>>>> For a basic interpreter, making use of ncurses, libgmp, libgsl,
>>>>>> and PostgreSQL etc., it is unavoidable. :)  I tried to avoid C++
>>>>>> like the plague, but ncurses requires a C++ main, if GNAT
>>>>>> exceptions are to work correctly. I'm not sure of the details
>>>>>> why, but a GNAT exception + ncurses and a C or gnat main leads to
>>>>>> an abort. Switching to a C++ main program has corrected that.
>>>>>>
>>>>> Did you try to pass -shared to gnatbind?
>>>>
>>>> No, but is that really relevant?
>>>>
>>>> The problem was not library linkage, but the fact that
>>>> if an exception was raised in the Ada modules, the
>>>> exception handler would not work -- the whole unit
>>>> would abort.
>>> 
>>> Lots of things are relevant in exception handling.
>>> 
>>> First is the exception handling mechanism; set-jump/long-jump vs
>>> zero cost. GNAT supports both, with zero cost the default; Windows
>>> dlls require sj/lj.
>>> 
>>> It may be that using a C++ main also implies the sj/lj mechanism.
>> 
>> Ok, but how is that connected with "-shared"?
> 
> Stab in the dark here; I've read in the past when looking for fully 
> statically linked programs that shared runtimes are/were needed for
> c++ exception mechanisms to work; or at least to keep all corner cases
> covered. 
> 
> So I wouldn't be surprised if -shared did indeed affect some exception
> related stuff.
> 
> What I read was something similar to this, but it was a long time ago:
> 
> http://www.trilithium.com/johan/2005/06/static-libstdc/

I'll have to read that more closely when I have some time,
but you've convinced me. I'd really like to eliminate any
C++ dependence, since that continues to change with the 
wind.

Thanks, Warren



  reply	other threads:[~2010-04-27 13:21 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-04-21 19:54 Autoconf & gnat Help Needed Warren
2010-04-21 20:31 ` Charmed Snark
2010-04-22 10:23 ` Georg Bauhaus
2010-04-22 15:19   ` Warren
2010-04-22 10:44 ` Stephen Leake
2010-04-22 15:27   ` Warren
2010-04-22 15:59     ` Warren
2010-04-23  6:48     ` Stephen Leake
2010-04-23 13:44       ` Warren
2010-04-23 18:39         ` Vadim Godunko
2010-04-23 20:13           ` Warren
2010-04-24 11:18             ` Stephen Leake
2010-04-26 15:01               ` Warren
2010-04-27  6:57                 ` Alex R. Mosteo
2010-04-27 13:21                   ` Warren [this message]
2010-04-23 18:41 ` Vadim Godunko
2010-04-23 20:18   ` Warren
2010-04-24  0:11     ` Ludovic Brenta
2010-04-26 15:06       ` Charmed Snark
2010-04-26 18:30       ` Robert A Duff
2010-04-24 12:54     ` Vadim Godunko
2010-04-26 15:25       ` Warren
replies disabled

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