aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorDavid Edelsohn <edelsohn@gnu.org>2002-08-12 18:21:26 +0000
committerDavid Edelsohn <dje@gcc.gnu.org>2002-08-12 14:21:26 -0400
commit032613dfb5333b47bbdbffedabb6cd8d4bd321e4 (patch)
treee6d7d052ccf5a7ccbcf105686bf648efb664569c /gcc
parenta37374818c824faeb9ac4db40bcc0229995a84f6 (diff)
downloadgcc-032613dfb5333b47bbdbffedabb6cd8d4bd321e4.zip
gcc-032613dfb5333b47bbdbffedabb6cd8d4bd321e4.tar.gz
gcc-032613dfb5333b47bbdbffedabb6cd8d4bd321e4.tar.bz2
trouble.texi (Disappointments): Add static constructor and destructor dependency information for AIX.
* doc/trouble.texi (Disappointments): Add static constructor and destructor dependency information for AIX. From-SVN: r56234
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