trouble.texi (Disappointments): Add static constructor and destructor dependency...
authorDavid Edelsohn <edelsohn@gnu.org>
Mon, 12 Aug 2002 18:21:26 +0000 (18:21 +0000)
committerDavid Edelsohn <dje@gcc.gnu.org>
Mon, 12 Aug 2002 18:21:26 +0000 (14:21 -0400)
* doc/trouble.texi (Disappointments): Add static constructor and
destructor dependency information for AIX.

From-SVN: r56234

gcc/ChangeLog
gcc/doc/trouble.texi

index c2471425a0580a3ef71e81dbf787b8922ab1b4ce..28d0f9eb15d5d8f3f7ce01f40b23e3fb6b907259 100644 (file)
@@ -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.
index e23cb6b0dfa154e73d264c4e5645438a3061cc58..f641085c2495873e946b0a0e0d0f390f3484978b 100644 (file)
@@ -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