diff options
author | Ian Lance Taylor <iant@google.com> | 2006-11-14 19:21:05 +0000 |
---|---|---|
committer | Ian Lance Taylor <iant@google.com> | 2006-11-14 19:21:05 +0000 |
commit | dbe717effbdf31236088837f4686fd5ad5e71893 (patch) | |
tree | fd5ed267334d62fadcaf7ff7132c0a7287553ed8 /gold/symtab.h | |
parent | 6c73cbb1d9a26d1c4d9bd5464832846b7c049b9d (diff) | |
download | gdb-dbe717effbdf31236088837f4686fd5ad5e71893.zip gdb-dbe717effbdf31236088837f4686fd5ad5e71893.tar.gz gdb-dbe717effbdf31236088837f4686fd5ad5e71893.tar.bz2 |
More dynamic object support, initial scripting support.
Diffstat (limited to 'gold/symtab.h')
-rw-r--r-- | gold/symtab.h | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/gold/symtab.h b/gold/symtab.h index 6589899..e972600 100644 --- a/gold/symtab.h +++ b/gold/symtab.h @@ -20,7 +20,11 @@ namespace gold class Object; class Relobj; +template<int size, bool big_endian> +class Sized_relobj; class Dynobj; +template<int size, bool big_endian> +class Sized_dynobj; class Output_data; class Output_segment; class Output_file; @@ -592,16 +596,29 @@ class Symbol_table ~Symbol_table(); - // Add COUNT external symbols from the relocatable object OBJECT to + // Add COUNT external symbols from the relocatable object RELOBJ to // the symbol table. SYMS is the symbols, SYM_NAMES is their names, // SYM_NAME_SIZE is the size of SYM_NAMES. This sets SYMPOINTERS to // point to the symbols in the symbol table. template<int size, bool big_endian> void - add_from_object(Relobj* object, const unsigned char* syms, - size_t count, const char* sym_names, size_t sym_name_size, + add_from_relobj(Sized_relobj<size, big_endian>* relobj, + const unsigned char* syms, size_t count, + const char* sym_names, size_t sym_name_size, Symbol** sympointers); + // Add COUNT dynamic symbols from the dynamic object DYNOBJ to the + // symbol table. SYMS is the symbols. SYM_NAMES is their names. + // SYM_NAME_SIZE is the size of SYM_NAMES. The other parameters are + // symbol version data. + template<int size, bool big_endian> + void + add_from_dynobj(Sized_dynobj<size, big_endian>* dynobj, + const unsigned char* syms, size_t count, + const char* sym_names, size_t sym_name_size, + const unsigned char* versym, size_t versym_size, + const std::vector<const char*>*); + // Define a special symbol. template<int size, bool big_endian> Sized_symbol<size>* |