* collect2.c (is_ctor_dtor): Add other possible JOINER values.
* config/rs6000/rs6000.c (output_mi_thunk): Return to function
section on TARGET_ELF.
* doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
(Binaries): Update Bull Freeware URL.
From-SVN: r56381
+2002-08-16 David Edelsohn <edelsohn@gnu.org>
+
+ * collect2.c (is_ctor_dtor): Add other possible JOINER values.
+
+ * config/rs6000/rs6000.c (output_mi_thunk): Return to function
+ section on TARGET_ELF.
+
+ * doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
+ (Binaries): Update Bull Freeware URL.
+
2002-08-15 Neil Booth <neil@daikokuya.co.uk>
PR preprocessor/7358
const char *orig_s = s;
static const struct names special[] = {
+#ifndef NO_DOLLAR_IN_LABEL
+ { "GLOBAL__I$", sizeof ("GLOBAL__I$")-1, 1, 0 },
+ { "GLOBAL__D$", sizeof ("GLOBAL__D$")-1, 2, 0 },
+#else
+#ifndef NO_DOT_IN_LABEL
+ { "GLOBAL__I.", sizeof ("GLOBAL__I.")-1, 1, 0 },
+ { "GLOBAL__D.", sizeof ("GLOBAL__D.")-1, 2, 0 },
+#endif /* NO_DOT_IN_LABEL */
+#endif /* NO_DOLLAR_IN_LABEL */
{ "GLOBAL__I_", sizeof ("GLOBAL__I_")-1, 1, 0 },
{ "GLOBAL__D_", sizeof ("GLOBAL__D_")-1, 2, 0 },
{ "GLOBAL__F_", sizeof ("GLOBAL__F_")-1, 5, 0 },
}
assemble_name (file, fname);
putc ('\n', file);
- text_section ();
+ if (TARGET_ELF)
+ function_section (current_function_decl);
+ else
+ text_section ();
if (TARGET_MINIMAL_TOC)
asm_fprintf (file, (TARGET_32BIT)
? "\t{l|lwz} %s,%s(%s)\n" : "\tld %s,%s(%s)\n", r12,
AIX:
@itemize
@item
-@uref{http://freeware.bull.net,,Bull's Freeware and Shareware Archive for AIX};
+@uref{http://www.bullfreeware.com,,Bull's Freeware and Shareware Archive for AIX};
@item
@uref{http://aixpdslib.seas.ucla.edu,,UCLA Software Library for AIX}.
Building @file{libstdc++.a} requires a fix for a 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