This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
[PATCH, committed] AIX libstdc++ configure.host LD_FLAGS
- From: David Edelsohn <dje dot gcc at gmail dot com>
- To: GCC Patches <gcc-patches at gcc dot gnu dot org>, "libstdc++ at gcc dot gnu dot org" <libstdc++ at gcc dot gnu dot org>
- Date: Thu, 30 Oct 2014 10:19:29 -0400
- Subject: [PATCH, committed] AIX libstdc++ configure.host LD_FLAGS
- Authentication-results: sourceware.org; auth=none
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"