diff options
author | Ian Lance Taylor <ian@airs.com> | 2010-01-12 06:41:36 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 2010-01-12 06:41:36 +0000 |
commit | 98e090bd1ff5b948db254f3b9be8794d5ca93d88 (patch) | |
tree | e31a7c860d743e4fc26a005273004c9c1129b0fe /gold/testsuite | |
parent | b4ba55a1812c4bde23d52111e54d2b72a1ec4af1 (diff) | |
download | gdb-98e090bd1ff5b948db254f3b9be8794d5ca93d88.zip gdb-98e090bd1ff5b948db254f3b9be8794d5ca93d88.tar.gz gdb-98e090bd1ff5b948db254f3b9be8794d5ca93d88.tar.bz2 |
* script.cc (class Lazy_demangler): Recreate--revert part of patch
of 2009-12-30.
(Version_script_info::Version_script_info): Initialize globs_,
default_version_, default_is_global_, and exact_. Don't
initialize globals_ or locals_.
(Version_script_info::build_lookup_tables): Build local symbols
first.
(Version_script_info::unquote): New function.
(Version_script_info::add_exact_match): New function.
(Version_script_info::build_expression_list_lookup): Remove lookup
parameter. Add is_global parameter. Change all callers. Handle
wildcard pattern specially. Unquote pattern. Call
add_exact_match.
(Version_script_info::get_name_to_match): New function.
(Version_script_info::get_symbol_version): New function.
(Version_script_info::get_symbol_version_helper): Remove.
(Version_script_info::check_unmatched_names): Call unquote.
* script.h (class Version_script_info): Change get_symbol_version
to be non-inline and add is_global parameter; change all callers.
Rewrite symbol_is_local. Update declarations. Define struct
Version_tree_match, Exact, Globs. Don't define struct Lookup.
Remove globals_ and locals_ members. Add exact_, globs_,
default_version_, is_global_.
(Version_script_info::Glob): Remove pattern, add expression and
is_global. Update constructor. Change all callers.
* dynobj.cc (Versions::finalize): Mark the version symbol as the
default version.
(Versions::symbol_section_contents): If a symbol is undefined, or
defined in a dynamic object, set the version index to
VER_NDX_LOCAL.
* symtab.cc (Symbol_table::add_from_relobj): Don't call
symbol_is_local.
(Symbol_table::add_from_pluginobj): Likewise.
* testsuite/ver_matching_test.sh: blaza1 and blaza go into V2.
Diffstat (limited to 'gold/testsuite')
-rwxr-xr-x | gold/testsuite/ver_matching_test.sh | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gold/testsuite/ver_matching_test.sh b/gold/testsuite/ver_matching_test.sh index 7f425266..4880efa 100755 --- a/gold/testsuite/ver_matching_test.sh +++ b/gold/testsuite/ver_matching_test.sh @@ -2,7 +2,7 @@ # ver_matching_test.sh -- a test case for version script matching -# Copyright 2008 Free Software Foundation, Inc. +# Copyright 2008, 2010 Free Software Foundation, Inc. # Written by Ian Lance Taylor <iant@google.com>. # This file is part of gold. @@ -66,9 +66,9 @@ check ver_matching_test.stdout "V1 *myns::blah()$" check ver_matching_test.stdout "V1 *myns::bip()$" check ver_matching_test.stdout "V1 *myns::Stuff::Stuff()$" check ver_matching_test.stdout "Base *Biz::Biz()$" -check ver_matching_test.stdout "V1 *blaza1$" +check ver_matching_test.stdout "V2 *blaza1$" check ver_matching_test.stdout "V2 *blaza2$" -check ver_matching_test.stdout "V1 *blaza$" +check ver_matching_test.stdout "V2 *blaza$" check ver_matching_test.stdout "Base *bla$" check ver_matching_test.stdout "V2 *blaz$" check ver_matching_test.stdout "V2 *blazb$" |