mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-01-18 12:24:38 +08:00
98e090bd1f
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. |
||
---|---|---|
.. | ||
basic_test.cc | ||
binary_test.cc | ||
binary_unittest.cc | ||
binary.in | ||
common_test_1.c | ||
common_test_2.c | ||
common_test_3.c | ||
constructor_test.cc | ||
copy_test_1.cc | ||
copy_test_2.cc | ||
copy_test.cc | ||
debug_msg.cc | ||
debug_msg.sh | ||
discard_locals_test.c | ||
discard_locals_test.sh | ||
dynamic_list.sh | ||
dynamic_list.t | ||
exception_test_1.cc | ||
exception_test_2.cc | ||
exception_test_main.cc | ||
exception_test.h | ||
exclude_libs_test_1.c | ||
exclude_libs_test_2.c | ||
exclude_libs_test_3.c | ||
exclude_libs_test.c | ||
exclude_libs_test.sh | ||
gc_comdat_test_1.cc | ||
gc_comdat_test_2.cc | ||
gc_comdat_test.sh | ||
gc_orphan_section_test.cc | ||
gc_orphan_section_test.sh | ||
gc_tls_test.cc | ||
gc_tls_test.sh | ||
hidden_test_1.c | ||
hidden_test_main.c | ||
hidden_test.sh | ||
icf_keep_unique_test.cc | ||
icf_keep_unique_test.sh | ||
icf_safe_test.cc | ||
icf_safe_test.sh | ||
icf_test.cc | ||
icf_test.sh | ||
incremental_test_1.c | ||
incremental_test_2.c | ||
incremental_test.sh | ||
initpri1.c | ||
justsyms_1.cc | ||
justsyms_2.cc | ||
justsyms.t | ||
large.c | ||
Makefile.am | ||
Makefile.in | ||
many_sections_test.cc | ||
no_version_test.c | ||
no_version_test.sh | ||
object_unittest.cc | ||
odr_violation1.cc | ||
odr_violation2.cc | ||
plugin_test_1.sh | ||
plugin_test_2.sh | ||
plugin_test_3.sh | ||
plugin_test_4.sh | ||
plugin_test.c | ||
protected_1.cc | ||
protected_2.cc | ||
protected_3.cc | ||
protected_main_1.cc | ||
protected_main_2.cc | ||
protected_main_3.cc | ||
relro_script_test.t | ||
relro_test_main.cc | ||
relro_test.cc | ||
retain_symbols_file_test.sh | ||
script_test_1.cc | ||
script_test_1.t | ||
script_test_2.cc | ||
script_test_2.t | ||
script_test_2a.cc | ||
script_test_2b.cc | ||
script_test_3.sh | ||
script_test_3.t | ||
script_test_4.sh | ||
script_test_4.t | ||
script_test_5.cc | ||
script_test_5.sh | ||
script_test_5.t | ||
script_test_6.sh | ||
script_test_6.t | ||
script_test_7.sh | ||
script_test_7.t | ||
script_test_8.sh | ||
searched_file_test_lib.cc | ||
searched_file_test.cc | ||
split_i386_1.s | ||
split_i386_2.s | ||
split_i386_3.s | ||
split_i386_4.s | ||
split_i386_n.s | ||
split_i386.sh | ||
split_x86_64_1.s | ||
split_x86_64_2.s | ||
split_x86_64_3.s | ||
split_x86_64_4.s | ||
split_x86_64_n.s | ||
split_x86_64.sh | ||
test.cc | ||
test.h | ||
testfile.cc | ||
testfile.h | ||
testmain.cc | ||
thin_archive_main.cc | ||
thin_archive_test_1.cc | ||
thin_archive_test_2.cc | ||
thin_archive_test_3.cc | ||
thin_archive_test_4.cc | ||
tls_test_c.c | ||
tls_test_file2.cc | ||
tls_test_main.cc | ||
tls_test.cc | ||
tls_test.h | ||
two_file_shared.sh | ||
two_file_test_1.cc | ||
two_file_test_1b.cc | ||
two_file_test_2.cc | ||
two_file_test_main.cc | ||
two_file_test.h | ||
undef_symbol_main.cc | ||
undef_symbol.cc | ||
undef_symbol.sh | ||
ver_matching_def.cc | ||
ver_matching_test.sh | ||
ver_test_1.cc | ||
ver_test_1.sh | ||
ver_test_2.cc | ||
ver_test_2.script | ||
ver_test_2.sh | ||
ver_test_3.cc | ||
ver_test_4.cc | ||
ver_test_4.script | ||
ver_test_4.sh | ||
ver_test_5.cc | ||
ver_test_5.script | ||
ver_test_5.sh | ||
ver_test_6.c | ||
ver_test_7.cc | ||
ver_test_7.sh | ||
ver_test_8.script | ||
ver_test_9.cc | ||
ver_test_10.script | ||
ver_test_10.sh | ||
ver_test_main_2.cc | ||
ver_test_main.cc | ||
ver_test.h | ||
version_script.map | ||
weak_alias_test_1.cc | ||
weak_alias_test_2.cc | ||
weak_alias_test_3.cc | ||
weak_alias_test_4.cc | ||
weak_alias_test_main.cc | ||
weak_plt_main.cc | ||
weak_plt_shared.cc | ||
weak_plt.sh | ||
weak_test.cc | ||
weak_undef_file1.cc | ||
weak_undef_file2.cc | ||
weak_undef_test.cc | ||
weak_undef.h |