diff options
author | David Edelsohn <edelsohn@gnu.org> | 2002-08-12 18:21:26 +0000 |
---|---|---|
committer | David Edelsohn <dje@gcc.gnu.org> | 2002-08-12 14:21:26 -0400 |
commit | 032613dfb5333b47bbdbffedabb6cd8d4bd321e4 (patch) | |
tree | e6d7d052ccf5a7ccbcf105686bf648efb664569c /gcc | |
parent | a37374818c824faeb9ac4db40bcc0229995a84f6 (diff) | |
download | gcc-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/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/doc/trouble.texi | 11 |
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 |