aboutsummaryrefslogtreecommitdiff
path: root/ld/ld.texinfo
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2008-11-26 01:04:17 +0000
committerAlan Modra <amodra@gmail.com>2008-11-26 01:04:17 +0000
commitae5a359786fb21bf95678a4e9eebf2ff90114c7a (patch)
tree553563478a9db484d0305122e3f15748073bfb1d /ld/ld.texinfo
parent6cf7d91b7e79070a10ad6012559ac9adac60499a (diff)
downloadbinutils-ae5a359786fb21bf95678a4e9eebf2ff90114c7a.zip
binutils-ae5a359786fb21bf95678a4e9eebf2ff90114c7a.tar.gz
binutils-ae5a359786fb21bf95678a4e9eebf2ff90114c7a.tar.bz2
include/
PR 7047 * bfdlink.h (struct bfd_elf_version_expr): Delete "symbol". Add "literal". bfd/ PR 7047 * configure.in: Bump version. * configure: Regenerate. * elflink.c (_bfd_elf_link_assign_sym_version): Continue matching against version nodes when a global match is a wildcard. Similarly continue matching on local wildcard matches, rather than only continuing for "*". Have any global wildcard match override a local wildcard match. Correct logic hiding unversioned symbol. (bfd_elf_size_dynamic_sections): Update for changes to struct bfd_elf_version_expr. ld/ PR 7047 * emultempl/ppc64elf.em (gld${EMULATION_NAME}_new_vers_pattern): Update for changes to struct bfd_elf_version_expr. * ldlang.c (lang_vers_match, version_expr_head_hash): Likewise. (version_expr_head_eq, lang_finalize_version_expr_head): Likewise. (lang_register_vers_node): Likewise. (lang_new_vers_pattern): Likewise. Ensure "literal" is set when no glob chars found in "pattern". (realsymbol): Correct backslash quote logic. * ld.texinfo (VERSION): Warn about global wildcards.
Diffstat (limited to 'ld/ld.texinfo')
-rw-r--r--ld/ld.texinfo6
1 files changed, 5 insertions, 1 deletions
diff --git a/ld/ld.texinfo b/ld/ld.texinfo
index 83c8ac4..4e8cf8a 100644
--- a/ld/ld.texinfo
+++ b/ld/ld.texinfo
@@ -4561,7 +4561,11 @@ When the linker finds a symbol defined in a library which is not
specifically bound to a version node, it will effectively bind it to an
unspecified base version of the library. You can bind all otherwise
unspecified symbols to a given version node by using @samp{global: *;}
-somewhere in the version script.
+somewhere in the version script. Note that it's slightly crazy to use
+wildcards in a global spec except on the last version node. Global
+wildcards elsewhere run the risk of accidentally adding symbols to the
+set exported for an old version. That's wrong since older versions
+ought to have a fixed set of symbols.
The names of the version nodes have no specific meaning other than what
they might suggest to the person reading them. The @samp{2.0} version