http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38607
David Edelsohn <dje at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |wrong-code Status|UNCONFIRMED |NEW URL| |http://gcc.gnu.org/ml/gcc-p | |atches/2012-09/msg00532.htm | |l Last reconfirmed| |2012-09-13 CC| |dje at gcc dot gnu.org Ever Confirmed|0 |1 --- Comment #19 from David Edelsohn <dje at gcc dot gnu.org> 2012-09-13 20:10:17 UTC --- First, this is a warning from the AIX linker, not an error and not a failure. The warning technically is correct but slightly misleading and should not cause problems. When the libstdc++ shared library is created for AIX, all global symbols are exported. AIX does not understand "visibility" decorations, but GCC uses it to determine if a function will be local to a translation unit, not requiring a "nop" after the call. Because they symbols are global and exported, the linker complains. GCC -fpic/-fPIC (XLC -qpic) no longer means position independent code, but that the code will be used in a shared library. XLC defaults to -qpic, GCC does not. Changing GCC for AIX to the XLC default causes other problems, so the best solution is to add -fPIC to the link line of shared libraries so that GCC on AIX looks more like GCC on Linux, which is what the patch does. This removes all but one warning, which probably is due to a latent bug in G++ itself.