diff options
Diffstat (limited to 'gold/symtab.h')
-rw-r--r-- | gold/symtab.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/gold/symtab.h b/gold/symtab.h index 91a1f4d..51bb269 100644 --- a/gold/symtab.h +++ b/gold/symtab.h @@ -17,6 +17,8 @@ namespace gold { class Object; +class Output_file; +class Target; template<int size, bool big_endian> class Sized_object; @@ -218,6 +220,10 @@ class Symbol_table size_t count, const char* sym_names, size_t sym_name_size, Symbol** sympointers); + // Look up a symbol. + Symbol* + lookup(const char*, const char* version = NULL) const; + // Return the real symbol associated with the forwarder symbol FROM. Symbol* resolve_forwards(Symbol* from) const; @@ -243,6 +249,10 @@ class Symbol_table off_t finalize(off_t, Stringpool*); + // Write out the global symbols. + void + write_globals(const Target*, const Stringpool*, Output_file*) const; + private: Symbol_table(const Symbol_table&); Symbol_table& operator=(const Symbol_table&); @@ -286,6 +296,11 @@ class Symbol_table off_t sized_finalize(off_t, Stringpool*); + // Write globals specialized for size and endianness. + template<int size, bool big_endian> + void + sized_write_globals(const Target*, const Stringpool*, Output_file*) const; + // The type of the symbol hash table. typedef std::pair<const char*, const char*> Symbol_table_key; @@ -312,6 +327,9 @@ class Symbol_table // write the table. off_t offset_; + // The number of global symbols we want to write out. + size_t output_count_; + // The symbol hash table. Symbol_table_type table_; |