[gold patch 7/8] Restructure Incremental_binary.

Cary Coutant ccoutant@google.com
Tue Sep 28 19:59:00 GMT 2010


This patch restructures the Incremental_binary class, adding proxy reader
classes that can be used by untemplated client code to access the
incremental info.

-cary


	* incremental-dump.cc (dump_incremental_inputs): Change signature
	to take a Sized_incremental_binary; change caller.  Use readers
	in Sized_incremental_binary.
	* incremental.cc
	(Sized_incremental_binary::do_find_incremental_inputs_sections):
	Rename to find_incremental_inputs_sections.
	(Sized_incremental_binary::setup_readers): New function.
	(Sized_incremental_binary::do_check_inputs): Check
	has_incremental_info_ flag; use input readers.
	(Sized_incremental_binary::do_get_input_reader): New function.
	* incremental.h (Incremental_inputs_reader): Add default constructor.
	(Incremental_symtab_reader): Add default constructor.
	(Incremental_symtab_reader::symbol_count): New function.
	(Incremental_symtab_reader::len_): New data member.
	(Incremental_relocs_reader): Add default constructor.
	(Incremental_relocs_reader::reloc_count): New function.
	(Incremental_relocs_reader::len_): New data member.
	(Incremental_got_plt_reader): Add default constructor.
	(Incremental_binary::find_incremental_inputs_sections): Remove.
	(Incremental_binary::Input_reader): New class.
	(Incremental_binary::get_input_reader): New function.
	(Incremental_binary::do_get_input_reader): New function.
	(Sized_incremental_binary::has_incremental_info): New function.
	(Sized_incremental_binary::inputs_reader): New function.
	(Sized_incremental_binary::symtab_reader): New function.
	(Sized_incremental_binary::relocs_reader): New function.
	(Sized_incremental_binary::got_plt_reader): New function.
	(Sized_incremental_binary::Sized_input_reader): New class.
	(Sized_incremental_binary::do_get_input_reader): New function.
	(Sized_incremental_binary::do_find_incremental_inputs_sections):
	Rename to find_incremental_inputs_sections.
	(Sized_incremental_binary::has_incremental_info_): New data member.
	(Sized_incremental_binary::inputs_reader_): New data member.
	(Sized_incremental_binary::symtab_reader_): New data member.
	(Sized_incremental_binary::relocs_reader_): New data member.
	(Sized_incremental_binary::got_plt_reader_): New data member.
	(Sized_incremental_binary::current_input_file_): New data member.
---
 gold/incremental-dump.cc |   74 +++------
 gold/incremental.cc      |   76 ++++++---
 gold/incremental.h       |  413 ++++++++++++++++++++++++++++++----------------
 3 files changed, 342 insertions(+), 221 deletions(-)

-------------- next part --------------
A non-text attachment was scrubbed...
Name: 7
Type: text/x-patch
Size: 24269 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20100928/1f0a1f39/attachment.bin>


More information about the Binutils mailing list