aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Edelsohn <dje@gcc.gnu.org>2002-08-16 13:24:33 -0400
committerDavid Edelsohn <dje@gcc.gnu.org>2002-08-16 13:24:33 -0400
commitfdf68669ec920c9530aa1b6b7e8fe31377ea780a (patch)
tree98f780a273680027ba44524eaf50a090e3e36622
parent7aecca3dc94c321500b215c12e9b3898d3c2b0e2 (diff)
downloadgcc-fdf68669ec920c9530aa1b6b7e8fe31377ea780a.zip
gcc-fdf68669ec920c9530aa1b6b7e8fe31377ea780a.tar.gz
gcc-fdf68669ec920c9530aa1b6b7e8fe31377ea780a.tar.bz2
* doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
From-SVN: r56380
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/doc/install.texi29
2 files changed, 34 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c011e15..118c8f6 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,4 +1,8 @@
-2002-07-30 Andrew Haley <aph@redhat.com>
+2002-08-16 David Edelsohn <edelsohn@gnu.org>
+
+ * doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
+
+2002-08-16 Andrew Haley <aph@redhat.com>
* tree-inline.c: Add includes for Java inliner.
(remap_decl): Don't handle anonymous types for Java.
diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi
index 8f2dbb1..d9f4093 100644
--- a/gcc/doc/install.texi
+++ b/gcc/doc/install.texi
@@ -2337,6 +2337,35 @@ interoperate with GCC@.
Building @file{libstdc++.a} requires a fix for an AIX Assembler bug
APAR IY26685 (AIX 4.3) or APAR IY25528 (AIX 5.1).
+@samp{libstdc++} in GCC 3.2 increments the major version number of the
+shared object and GCC installation places the @file{libstdc++.a}
+shared library in a common location which will overwrite the GCC 3.1
+version of the shared library. Applications either need to be
+re-linked against the new shared library or the GCC 3.1 version of the
+@samp{libstdc++} shared object needs to be available to the AIX
+runtime loader. The GCC 3.1 @samp{libstdc++.so.4} shared object can
+be installed for runtime dynamic loading using the following steps to
+set the @samp{F_LOADONLY} flag in the shared object for @emph{each}
+multilib @file{libstdc++.a} installed:
+
+Extract the shared object from each the GCC 3.1 @file{libstdc++.a}
+archive:
+@example
+ % ar -x libstdc++.so.4 libstdc++.a
+@end example
+
+Enable the @samp{F_LOADONLY} flag so that the shared object will be
+available for runtime dynamic loading, but not linking:
+@example
+ % strip -e libstdc++.so.4
+@end example
+
+Archive the runtime-only shared object in the GCC 3.2
+@file{libstdc++.a} archive:
+@example
+ % ar -q libstdc++.so.4 libstdc++.a
+@end example
+
Linking executables and shared libraries may produce warnings of
duplicate symbols. The assembly files generated by GCC for AIX always
have included multiple symbol definitions for certain global variable