aboutsummaryrefslogtreecommitdiff
path: root/gold/symtab.h
diff options
context:
space:
mode:
authorIan Lance Taylor <iant@google.com>2006-09-29 19:58:17 +0000
committerIan Lance Taylor <iant@google.com>2006-09-29 19:58:17 +0000
commit61ba1cf93601b0a0877a8ade94ba3c674a09f77e (patch)
treeffa744ec1dffd7f2dae13150b1dd7784728ed0a4 /gold/symtab.h
parent4dba4b2419ccdbf48fd016edb7e0e10016897827 (diff)
downloadgdb-61ba1cf93601b0a0877a8ade94ba3c674a09f77e.zip
gdb-61ba1cf93601b0a0877a8ade94ba3c674a09f77e.tar.gz
gdb-61ba1cf93601b0a0877a8ade94ba3c674a09f77e.tar.bz2
Snapshot. Now able to produce a minimal executable which actually
runs.
Diffstat (limited to 'gold/symtab.h')
-rw-r--r--gold/symtab.h18
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_;