This is the mail archive of the
newlib@sourceware.org
mailing list for the newlib project.
Re: Reducing the size of C++ executables - eliminating malloc
Mark Mitchell wrote:
But, the way the ABI works requires a reference from each unit which may
cause unwinding. Even if you lose the personality routine, you will
still have the exception tables, which themselves are a significant
cost. If you don't want to pay for exceptions, you really have to
compile with -fno-exceptions. In that case, certainly, we should be
able to avoid pulling in the personality routine.
I think that we are actually in agreement, for the most part.
The routines which need unwinding should have a reference to
the personality module. Routines which don't need unwinding
shouldn't have a superfluous reference to it.
There is a check in doing_eh() in except.c which checks that
-fexceptions is set if any exception-specific functions are
used. It seems that this would be the place to generate the
reference to __gxx_personality_v0.
--
Michael Eager eager@eagercon.com
1960 Park Blvd., Palo Alto, CA 94306 650-325-8077