* doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
authorDavid Edelsohn <dje@gcc.gnu.org>
Fri, 16 Aug 2002 17:24:33 +0000 (13:24 -0400)
committerDavid Edelsohn <dje@gcc.gnu.org>
Fri, 16 Aug 2002 17:24:33 +0000 (13:24 -0400)
From-SVN: r56380

gcc/ChangeLog
gcc/doc/install.texi

index c011e1563631e44ffb1e9ba4146ded1d9eed19ed..118c8f6d37d51d9b5f7567c2492e6a9599424497 100644 (file)
@@ -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.
index 8f2dbb137697087bfa86fcefb210df63b4231af5..d9f409351e8a6a76c98f07068aebd74f0aa54eff 100644 (file)
@@ -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