This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: libsupc++, _cxa references, and Dinkum libcpp
On Tue, May 20, 2003 at 05:21:34PM -0000, gp@qnx.com wrote:
>
>
> Thanks, Joe. I appreciate your feedback.
>
> I was under the impression that gcc and libstdc++ were seperate products, and
> that the __cxa symbols being emitted by cc1plus were gnu stdc++ specific,
> thereby tying gcc to a particular C++ library. And I thought this was
> generally undesireable, as opposed to being undesireable just for me.
>
> Always willing to be corrected. :-)
It appears that you continue to confuse libsupc++ and libstdc++. The
former is a tiny library, the latter is a big library. The compiler alone
will generate code that requires only the former.
> So to clarify my understanding, the __cxa symbols being emitted by cc1plus are
> part of the C++ standard, and are missing from Dinkumware, yes?
No. Names beginning with double underscore are reserved to the
implementation: they are non-portable compiler internals. According to
ISO C++ rules, user programs may not define such names, only the compiler
and standard library get to (programmers who violate this rule might get
away with it, but they are not writing portable programs). Dinkumware
probably contains a number of its own double-underscore names, to
implement needed features. They are allowed to use this namespace because
they are also implementing a standard library.
GNU C++ assumes that libsupc++ is present. Your problem appears to be
that Dinkumware wants to provide its own version of some things that
libsupc++ provides. So, you'll have to hack one or the other.