diff options
author | Cary Coutant <ccoutant@google.com> | 2011-04-25 20:28:48 +0000 |
---|---|---|
committer | Cary Coutant <ccoutant@google.com> | 2011-04-25 20:28:48 +0000 |
commit | f0f9babffe098a7419062b594894ac5c57b28e88 (patch) | |
tree | e677eab0152eeed2dfd1a570993294cdd1b6e295 /gold/object.h | |
parent | 3e03848b6ca5ca5a8e36d4a8be1682c0c220a6d5 (diff) | |
download | fsf-binutils-gdb-f0f9babffe098a7419062b594894ac5c57b28e88.zip fsf-binutils-gdb-f0f9babffe098a7419062b594894ac5c57b28e88.tar.gz fsf-binutils-gdb-f0f9babffe098a7419062b594894ac5c57b28e88.tar.bz2 |
* incremental-dump.cc (dump_incremental_inputs): Print local
symbol info for each input file.
* incremental.cc
(Output_section_incremental_inputs::set_final_data_size): Add local
symbol info to input file entries in incremental info.
(Output_section_incremental_inputs::write_info_blocks): Likewise.
(Sized_incr_relobj::Sized_incr_relobj): Initialize new data members.
(Sized_incr_relobj::do_add_symbols): Cosmetic change.
(Sized_incr_relobj::do_count_local_symbols): Replace stub with
implementation.
(Sized_incr_relobj::do_finalize_local_symbols): Likewise.
(Sized_incr_relobj::do_relocate): Write the local symbols.
(Sized_incr_dynobj::do_add_symbols): Cosmetic change.
* incremental.h (Incremental_inputs_reader::get_symbol_offset):
Adjust size of input file header.
(Incremental_inputs_reader::get_local_symbol_offset): New function.
(Incremental_inputs_reader::get_local_symbol_count): New function.
(Incremental_inputs_reader::get_input_section): Adjust size of input
file header.
(Incremental_inputs_reader::get_global_symbol_reader): Likewise.
(Sized_incr_relobj::This): New typedef.
(Sized_incr_relobj::sym_size): New const data member.
(Sized_incr_relobj::Local_symbol): New struct.
(Sized_incr_relobj::do_output_local_symbol_count): New function.
(Sized_incr_relobj::do_local_symbol_offset): New function.
(Sized_incr_relobj::local_symbol_count_): New data member.
(Sized_incr_relobj::output_local_dynsym_count_): New data member.
(Sized_incr_relobj::local_symbol_index_): New data member.
(Sized_incr_relobj::local_symbol_offset_): New data member.
(Sized_incr_relobj::local_dynsym_offset_): New data member.
(Sized_incr_relobj::local_symbols_): New data member.
* object.h (Relobj::output_local_symbol_count): New function.
(Relobj::local_symbol_offset): New function.
(Relobj::do_output_local_symbol_count): New function.
(Relobj::do_local_symbol_offset): New function.
(Sized_relobj::do_output_local_symbol_count): New function.
(Sized_relobj::do_local_symbol_offset): New function.
Diffstat (limited to 'gold/object.h')
-rw-r--r-- | gold/object.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/gold/object.h b/gold/object.h index c814e76..dc56136 100644 --- a/gold/object.h +++ b/gold/object.h @@ -987,6 +987,16 @@ class Relobj : public Object local_symbol_count() const { return this->do_local_symbol_count(); } + // The number of local symbols in the output symbol table. + virtual unsigned int + output_local_symbol_count() const + { return this->do_output_local_symbol_count(); } + + // The file offset for local symbols in the output symbol table. + virtual off_t + local_symbol_offset() const + { return this->do_local_symbol_offset(); } + // Initial local symbol processing: count the number of local symbols // in the output symbol table and dynamic symbol table; add local symbol // names to *POOL and *DYNPOOL. @@ -1115,6 +1125,14 @@ class Relobj : public Object virtual unsigned int do_local_symbol_count() const = 0; + // Return the number of output local symbols--implemented by child class. + virtual unsigned int + do_output_local_symbol_count() const = 0; + + // Return the file offset for local symbols--implemented by child class. + virtual off_t + do_local_symbol_offset() const = 0; + // Count local symbols--implemented by child class. virtual void do_count_local_symbols(Stringpool_template<char>*, @@ -1911,6 +1929,16 @@ class Sized_relobj : public Sized_relobj_base<size, big_endian> do_local_symbol_count() const { return this->local_symbol_count_; } + // Return the number of local symbols in the output symbol table. + unsigned int + do_output_local_symbol_count() const + { return this->output_local_symbol_count_; } + + // Return the number of local symbols in the output symbol table. + off_t + do_local_symbol_offset() const + { return this->local_symbol_offset_; } + // Lay out the input sections. void do_layout(Symbol_table*, Layout*, Read_symbols_data*); |