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.