This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: New AIX libstdc++ testsuite regression 20_util/allocator_members
- From: David Edelsohn <dje at watson dot ibm dot com>
- To: Phil Edwards <phil at jaj dot com>
- Cc: libstdc++ at gcc dot gnu dot org
- Date: Mon, 20 May 2002 15:12:32 -0400
- Subject: Re: New AIX libstdc++ testsuite regression 20_util/allocator_members
I did find out what VAC++ does for the specific delete[] case.
AIX shared libraries *are* library archives of objects and shared objects.
VAC++ places the public implementation of delete[] into its own object
file in its libstdc++.a archive, not into the main shared object. This
object gets linked using the normal archive linking rules. If the
executable being linked (program or other shared library) provides its own
definition of delete or delete[], that gets resolved and overridden at
link time, not pre-bound into the implementation of delete[] provided by
the shared library. Because GCC's libstdc++ provides delete[] in the
shared object, we run into problems. VAC++ method is not perfect, but
handles most of the real-world cases.
David