From 4163e9fbdb410867b4e5536ed02ac6fad938bb00 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Wed, 26 Nov 2008 01:04:12 +0000 Subject: [PATCH] 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. --- include/ChangeLog | 6 ++++++ include/bfdlink.h | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/include/ChangeLog b/include/ChangeLog index c6a6caef4..96c84746e 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,9 @@ +2008-11-26 Alan Modra + + PR 7047 + * bfdlink.h (struct bfd_elf_version_expr): Delete "symbol". + Add "literal". + 2008-11-21 Sterling Augustine * xtensa-isa-internal.h (XTENSA_STATE_IS_SHARED_OR): New flag. diff --git a/include/bfdlink.h b/include/bfdlink.h index d27b5388d..51c5b15cd 100644 --- a/include/bfdlink.h +++ b/include/bfdlink.h @@ -707,8 +707,8 @@ struct bfd_elf_version_expr struct bfd_elf_version_expr *next; /* Glob pattern. */ const char *pattern; - /* NULL for a glob pattern, otherwise a straight symbol. */ - const char *symbol; + /* Set if pattern is not a glob. */ + unsigned int literal : 1; /* Defined by ".symver". */ unsigned int symver : 1; /* Defined by version script. */