aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/doc/trouble.texi11
2 files changed, 16 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c247142..28d0f9e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2002-08-12 David Edelsohn <edelsohn@gnu.org>
+
+ * doc/trouble.texi (Disappointments): Add static constructor and
+ destructor dependency information for AIX.
+
2002-08-12 Neil Booth <neil@daikokuya.co.uk>
* cpphash.h (struct printer): New from cppmain.c.
diff --git a/gcc/doc/trouble.texi b/gcc/doc/trouble.texi
index e23cb6b..f641085 100644
--- a/gcc/doc/trouble.texi
+++ b/gcc/doc/trouble.texi
@@ -895,6 +895,17 @@ option (@pxref{Optimize Options}).
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.
+
+@item
+On AIX, GCC scans object files and library archives for static
+constructors and destructors when linking an application before the
+linker prunes unreferenced symbols. This is necessary to prevent the
+AIX linker from mistakenly assuming that static constructor or
+destructor are unused and removing them before the scanning can occur.
+All static constructors and destructors found will be referenced even
+though the modules in which they occur may not be used by the program.
+This may lead to increased executable size and unexpected dependencies
+on external symbols.
@end itemize
@node C++ Misunderstandings