Exceptions workaround for older systems that don't USE_COLLECT2
Jeffrey A Law
law@cygnus.com
Tue Sep 8 02:42:00 GMT 1998
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
More information about the Gcc
mailing list