aboutsummaryrefslogtreecommitdiff
path: root/gold/object.h
diff options
context:
space:
mode:
Diffstat (limited to 'gold/object.h')
-rw-r--r--gold/object.h16
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*);