This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH, committed] AIX libstdc++ configure.host LD_FLAGS


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.gcc@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"


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]