diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c2471425a05..28d0f9eb15d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2002-08-12 David Edelsohn + + * doc/trouble.texi (Disappointments): Add static constructor and + destructor dependency information for AIX. + 2002-08-12 Neil Booth * cpphash.h (struct printer): New from cppmain.c. diff --git a/gcc/doc/trouble.texi b/gcc/doc/trouble.texi index e23cb6b0dfa..f641085c249 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