From dbe717effbdf31236088837f4686fd5ad5e71893 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Tue, 14 Nov 2006 19:21:05 +0000 Subject: More dynamic object support, initial scripting support. --- gold/symtab.h | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) (limited to 'gold/symtab.h') 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 +class Sized_relobj; class Dynobj; +template +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 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* 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 + void + add_from_dynobj(Sized_dynobj* 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*); + // Define a special symbol. template Sized_symbol* -- cgit v1.1