http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52887

David Edelsohn <dje at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2012-06-19
                 CC|                            |dje at gcc dot gnu.org
     Ever Confirmed|0                           |1

--- Comment #13 from David Edelsohn <dje at gcc dot gnu.org> 2012-06-19 
23:21:27 UTC ---
I successfully bootstrap on AIX 5.3 multiple times per week with the need of
the additional instantiations. This may be due to different versions of the AIX
assembler. The system I am using has bos.adt.base level 5.3.7.0 installed. I
also do not use many of the additional configure options.

--disable-shared probably is a bad choice.

The file format used on AIX is XCOFF. The file format used on most other
systems is ELF. ELF provides a richer set of features for symbols and sections
that GCC implicitly assumes to support C++ features.

Additionally, SVR4/ELF semantics allows linkers to play a little more "fast and
loose". Basically, SVR4/ELF lazy binding allows libraries to omit symbol
definitions if they never are used. I suspect that the instantiations that
Jonathan is adding truly are needed and should be defined for all systems, but
the other systems silently ignore the error.

And this probably works on my builds of AIX because I build shared libraries
with an option for SVR4-like semantics that allows link-time errors during
shared library creation.

So the real answer probably is that the instantiations are necessary and
libstdc++ really has a latent bug that is not visible on other systems.

Reply via email to