aboutsummaryrefslogtreecommitdiff
path: root/ld/ld.texinfo
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2018-02-03 13:11:35 +0000
committerNick Clifton <nickc@redhat.com>2018-02-03 13:11:35 +0000
commitb0daac83d78c82f7998287bb717063c4d01d4f97 (patch)
tree2beb203c407b3a1225e23ceb23cb401fbee24a31 /ld/ld.texinfo
parent138a158f0a561d406bebb8b91eba0dd6dedd430e (diff)
downloadgdb-b0daac83d78c82f7998287bb717063c4d01d4f97.zip
gdb-b0daac83d78c82f7998287bb717063c4d01d4f97.tar.gz
gdb-b0daac83d78c82f7998287bb717063c4d01d4f97.tar.bz2
Remove PROVIDE() qualifiers from definition of __CTOR_LIST__ and __DTOR_LIST__ symbols in PE linker scripts.
PR 22762 * scripttempl/pe.sc: Remove PROVIDE()s from __CTOR_LIST__ and __DTOR_LIST__ symbols. Add a comment explaining why this is necessary. * scripttemp/pep.sc: Likewise. * ld.texinfo (PROVIDE): Add a note about the effect of common symbols.
Diffstat (limited to 'ld/ld.texinfo')
-rw-r--r--ld/ld.texinfo6
1 files changed, 6 insertions, 0 deletions
diff --git a/ld/ld.texinfo b/ld/ld.texinfo
index c89915f..764c401 100644
--- a/ld/ld.texinfo
+++ b/ld/ld.texinfo
@@ -4001,6 +4001,12 @@ underscore), the linker will silently use the definition in the program.
If the program references @samp{etext} but does not define it, the
linker will use the definition in the linker script.
+Note - the @code{PROVIDE} directive considers a common symbol to be
+defined, even though such a symbol could be combined with the symbol
+that the @code{PROVIDE} would create. This is particularly important
+when considering constructor and destructor list symbols such as
+@samp{__CTOR_LIST__} as these are often defined as common symbols.
+
@node PROVIDE_HIDDEN
@subsection PROVIDE_HIDDEN
@cindex PROVIDE_HIDDEN