summaryrefslogtreecommitdiff
path: root/gcc/doc/trouble.texi
diff options
context:
space:
mode:
authordje <dje@138bc75d-0d04-0410-961f-82ee72b054a4>2002-01-17 20:01:49 +0000
committerdje <dje@138bc75d-0d04-0410-961f-82ee72b054a4>2002-01-17 20:01:49 +0000
commit4699ada1bb26fbc34dec4911f4cbbf6f56c4a1f3 (patch)
tree71288b8b8e075108399d4225ebb684762f55abfa /gcc/doc/trouble.texi
parent8b8fd84d48b252aeaddd62047ff9cee0f3bc8fbd (diff)
downloadgcc-4699ada1bb26fbc34dec4911f4cbbf6f56c4a1f3.tar.gz
* doc/install.texi (*-ibm-aix*): Update assembler and exception
handling information. * doc/trouble.texi (Interoperation): Add libstdc++ information for AIX. (Misunderstandings): Add template instantiation and static template member information for AIX. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@48962 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/doc/trouble.texi')
-rw-r--r--gcc/doc/trouble.texi37
1 files changed, 32 insertions, 5 deletions
diff --git a/gcc/doc/trouble.texi b/gcc/doc/trouble.texi
index 0b61c44c260..fb6e9832653 100644
--- a/gcc/doc/trouble.texi
+++ b/gcc/doc/trouble.texi
@@ -291,14 +291,36 @@ bug because redefining an @code{extern} variable as @code{static}
is undefined in ISO C@.
@item
+In extremely rare cases involving some very large functions you may
+receive errors from the AIX Assembler complaining about a displacement
+that is too large. If you should run into it, you can work around by
+making your function smaller.
+
+@item
+The @file{libstdc++.a} library in GCC relies on the SVR4 dynamic
+linker semantics which merges global symbols between libraries and
+applications, especially necessary for C++ streams functionality.
+This is not the default behavior of AIX shared libraries and dynamic
+linking. @file{libstdc++.a} is built on AIX with ``runtime-linking''
+enabled so that symbol merging can occur. To utilize this feature,
+the application linked with @file{libstdc++.a} must include the
+@option{-Wl,-brtl} flag on the link line. G++ cannot impose this
+because this option may interfere with the semantics of the user
+program and users may not always use @samp{g++} to link his or her
+application. Applications are not required to use the
+@option{-Wl,-brtl} flag on the link line---the rest of the
+@file{libstdc++.a} library which is not dependent on the symbol
+merging semantics will continue to function correctly.
+
+@item
AIX on the RS/6000 provides support (NLS) for environments outside of
the United States. Compilers and assemblers use NLS to support
locale-specific representations of various objects including
-floating-point numbers (@samp{.} vs @samp{,} for separating decimal fractions).
-There have been problems reported where the library linked with GCC does
-not produce the same floating-point formats that the assembler accepts.
-If you have this problem, set the @env{LANG} environment variable to
-@samp{C} or @samp{En_US}.
+floating-point numbers (@samp{.} vs @samp{,} for separating decimal
+fractions). There have been problems reported where the library linked
+with GCC does not produce the same floating-point formats that the
+assembler accepts. If you have this problem, set the @env{LANG}
+environment variable to @samp{C} or @samp{En_US}.
@item
@opindex fdollars-in-identifiers
@@ -901,6 +923,11 @@ implemented using the ISO standard @file{stdarg.h} method of
variable arguments. Furthermore, calls to functions using @file{stdarg.h}
variable arguments must have a prototype for the called function
in scope at the time of the call.
+
+@item
+On AIX and other platforms without weak symbol support, templates
+need to be instantiated explicitly and symbols for static members
+of templates will not be generated.
@end itemize
@node C++ Misunderstandings