AIX has been unable to bootstrap since the match-and-simplify merge. Richard Biener and I tracked this back to a bad interaction between a GCC optimization and the AIX linker -G option to allow for SVR4-style runtime linking.
The following patch removes the linker option from the libstdc++ build. This will prevent runtime function interposition, e.g. overriding operator new, when using libstdc++, but that is rarely needed. This patch also uses the default atomic support Bootstrapped on powerpc-ibm-aix7.1.0.0 2014-10-30 David Edelsohn <dje....@gmail.com> * configure.host (aix5+): New stanza. (aix4.3+): Do not use -G in link command. Index: configure.host =================================================================== --- configure.host (revision 216851) +++ configure.host (working copy) @@ -212,14 +212,20 @@ # CPU-specifc, set those here too. # THIS TABLE IS SORTED. KEEP IT THAT WAY. case "${host_os}" in - aix4.[3456789]* | aix[56789]*) + aix[56789]*) + # Newer versions of AIX only support PowerPC architecture, so use + # atomic instructions directly. + os_include_dir="os/aix" + atomicity_dir="cpu/generic" + atomic_word_dir="os/aix" + ;; + aix4.[3456789]*) # We set os_include_dir to os/aix only on AIX 4.3 and newer, but # os/aix/atomicity.h works on earlier versions of AIX 4.*, so we # explicitly duplicate the directory for 4.[<3]. os_include_dir="os/aix" atomicity_dir="os/aix" atomic_word_dir="os/aix" - OPT_LDFLAGS="-Wl,-G" ;; aix4.*) os_include_dir="os/generic"