summaryrefslogtreecommitdiff
path: root/gcc/doc/trouble.texi
diff options
context:
space:
mode:
authordje <dje@138bc75d-0d04-0410-961f-82ee72b054a4>2002-08-12 18:21:26 +0000
committerdje <dje@138bc75d-0d04-0410-961f-82ee72b054a4>2002-08-12 18:21:26 +0000
commit788e9509201de31f72d96ebd739d422b8ac80054 (patch)
treee6d7d052ccf5a7ccbcf105686bf648efb664569c /gcc/doc/trouble.texi
parent70b083ab390b4c7fd386fe753377cfcc759aac06 (diff)
downloadgcc-788e9509201de31f72d96ebd739d422b8ac80054.tar.gz
* doc/trouble.texi (Disappointments): Add static constructor and
destructor dependency information for AIX. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@56234 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/doc/trouble.texi')
-rw-r--r--gcc/doc/trouble.texi11
1 files changed, 11 insertions, 0 deletions
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