diff options
Diffstat (limited to 'gold/object.h')
-rw-r--r-- | gold/object.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/gold/object.h b/gold/object.h index 8ee03a7..0b25b42 100644 --- a/gold/object.h +++ b/gold/object.h @@ -422,6 +422,12 @@ class Object Read_symbols_data* sd, std::string* why) { return this->do_should_include_member(symtab, layout, sd, why); } + // Iterate over global symbols, calling a visitor class V for each. + void + for_all_global_symbols(Read_symbols_data* sd, + Library_base::Symbol_visitor_base* v) + { return this->do_for_all_global_symbols(sd, v); } + // Functions and types for the elfcpp::Elf_file interface. This // permit us to use Object as the File template parameter for // elfcpp::Elf_file. @@ -572,6 +578,11 @@ class Object do_should_include_member(Symbol_table* symtab, Layout*, Read_symbols_data*, std::string* why) = 0; + // Iterate over global symbols, calling a visitor class V for each. + virtual void + do_for_all_global_symbols(Read_symbols_data* sd, + Library_base::Symbol_visitor_base* v) = 0; + // Return the location of the contents of a section. Implemented by // child class. virtual Location @@ -1810,6 +1821,11 @@ class Sized_relobj : public Relobj do_should_include_member(Symbol_table* symtab, Layout*, Read_symbols_data*, std::string* why); + // Iterate over global symbols, calling a visitor class V for each. + void + do_for_all_global_symbols(Read_symbols_data* sd, + Library_base::Symbol_visitor_base* v); + // Read the relocs. void do_read_relocs(Read_relocs_data*); |