This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Exceptions workaround for older systems that don't USE_COLLECT2
- To: Jamie Lokier <egcs at tantalophile dot demon dot co dot uk>
- Subject: Re: Exceptions workaround for older systems that don't USE_COLLECT2
- From: Jeffrey A Law <law at cygnus dot com>
- Date: Mon, 07 Sep 1998 23:45:52 -0600
- cc: "Melissa O'Neill" <oneill at cs dot sfu dot ca>, egcs at cygnus dot com
- Reply-To: law at cygnus dot com
In message <19980906192417.D6125@tantalophile.demon.co.uk>you write:
> On Sun, Sep 06, 1998 at 02:11:11AM -0700, Melissa O'Neill wrote:
> > That's certainly a possible solution and likely the best compromise.
> > The downside is that collect2 would do static constructor/destructor
> > handling when NeXT's ld is happy to handle it. And, since many C++
> > programs don't use exceptions at all, the overhead of always using
> > collect2's double-link strategy for those common cases seems a little
> > burdensome.
>
> If collect2 doesn't find anything it needs to handle itself (i.e.,
> exceptions in this case), can it skip the second link and just use the
> output of the first?
Yes. If collect2 finds nothing to do, then it will not perform a second
link.
However, I'm not sure if the compiler & collect2 are set up to know
that the linker will handle some set of issues (ctors/dtors) and that
collect2 is supposed to handle another set of issues (EH frames).
I'd certainly prefer to have something that worked without user intervention
even if it was a little bit slower at link time. Thus, my preference
would be to enable collect2 on NeXT boxes.
jeff