Skip to content
  • Cary Coutant's avatar
    2008-08-06 Cary Coutant <ccoutant@google.com> · ac45a351
    Cary Coutant authored
    	* archive.cc (Archive::total_archives, Archive::total_members)
    	(Archive::total_members_loaded): New variables.
    	(Archive::setup): Add parameter.  Add option to preread
    	archive symbols.
    	(Archive::read_armap): Add counter.
    	(Archive::get_file_and_offset): New function.
    	(Archive::get_elf_object_for_member): New function.
    	(Archive::read_all_symbols): New function.
    	(Archive::read_symbols): New function.
    	(Archive::add_symbols): Add counters.
    	(Archive::include_all_members): Use armap to find members if it's
    	already built.
    	(Archive::include_member): Skip reading symbols if already read.
    	Factored code into Archive::get_file_and_offset and
    	Archive::get_elf_object_for_member.  Changed call to
    	Mapfile::report_include_archive_member.
    	(Archive::print_stats): New function.
    	* archive.h: Declare Object and Read_symbols_data classes.
    	(Archive::Archive): Add initializers for new members.
    	(Archive::setup): Add parameter.
    	(Archive::print_stats): New function.
    	(Archive::total_archives, Archive::total_members)
    	(Archive::total_members_loaded): New variables.
    	(Archive::get_file_and_offset): New function.
    	(Archive::get_elf_object_for_member): New function.
    	(Archive::read_all_symbols): New function.
    	(Archive::read_symbols): New function.
    	(Archive::Archive_member): New class.
    	(Archive::members_): New member.
    	(Archive::num_members_): New member.
    	* main.cc: Include archive.h.
    	(main): Call Archive::print_stats.
    	* mapfile.cc (Mapfile::report_include_archive_member): Delete
    	archive parameter; member_name is now the fully-decorated name.
    	* mapfile.h (Mapfile::report_include_archive_member): Likewise.
    	* options.h: (General_options): Add --preread-archive-symbols option.
    	* readsyms.cc (Read_symbols::do_read_symbols): Change call to
    	Archive::setup.
    ac45a351