From e0c5278066dc16f8b0e00e970f56c1bd4d32f864 Mon Sep 17 00:00:00 2001 From: Cary Coutant Date: Wed, 30 Mar 2011 01:31:57 +0000 Subject: * archive.cc (Library_base::should_include_member): Move method here from class Archive. (Archive::Archive): Initialize base class. (Archive::should_include_member): Move to base class. (Archive::do_for_all_unused_symbols): New function. (Add_archive_symbols::run): Remove redundant access to incremental_inputs. (Lib_group::Lib_group): Initialize base class. (Lib_group::do_filename): New function. (Lib_group::include_member): Pass pointer to Lib_group to report_object. (Lib_group::do_for_all_unused_symbols): New function. (Add_lib_group_symbols::run): Report archive information for incremental links. * archive.h (class Library_base): New base class. (class Archive): Derive from Library_base. (Archive::filename): Move to base class. (Archive::set_incremental_info): Likewise. (Archive::incremental_info): Likewise. (Archive::Should_include): Likewise. (Archive::should_include_member): Likewise. (Archive::Armap_entry): Remove. (Archive::Unused_symbol_iterator): Remove. (Archive::unused_symbols_begin): Remove. (Archive::unused_symbols_end): Remove. (Archive::do_filename): New function. (Archive::do_get_mtime): New function. (Archive::do_for_all_unused_symbols): New function. (Archive::task_): Move to base class. (Archive::incremental_info_): Likewise. (class Lib_group): Derive from Library_base. (Lib_group::do_filename): New function. (Lib_group::do_get_mtime): New function. (Lib_group::do_for_all_unused_symbols): New function. (Lib_group::task_): Move to base class. * dynobj.cc (Sized_dynobj::do_for_all_global_symbols): New function. * dynobj.h (Sized_dynobj::do_for_all_global_symbols): New function. * incremental.cc (Incremental_inputs::report_archive_begin): Use Library_base; call library's get_mtime; add incremental inputs entry before members. (class Unused_symbol_visitor): New class. (Incremental_inputs::report_archive_end): Use Library_base; use visitor class to record unused symbols; don't add incremental inputs entry after members. (Incremental_inputs::report_object): Use Library_base. * incremental.h (Incremental_archive_entry::Incremental_archive_entry): Remove unused Archive parameter. (Incremental_inputs::report_archive_begin): Use Library_base. (Incremental_inputs::report_archive_end): Likewise. (Incremental_inputs::report_object): Likewise. * object.cc (Sized_relobj::do_for_all_global_symbols): New function. * object.h (Object::for_all_global_symbols): New function. (Object::do_for_all_global_symbols): New function. (Sized_relobj::do_for_all_global_symbols): New function. * plugin.cc (Sized_pluginobj::do_for_all_global_symbols): New function. * plugin.h (Sized_pluginobj::do_for_all_global_symbols): New function. --- gold/incremental.h | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'gold/incremental.h') diff --git a/gold/incremental.h b/gold/incremental.h index cc0e839..b55aa71 100644 --- a/gold/incremental.h +++ b/gold/incremental.h @@ -451,8 +451,7 @@ class Incremental_object_entry : public Incremental_input_entry class Incremental_archive_entry : public Incremental_input_entry { public: - Incremental_archive_entry(Stringpool::Key filename_key, Archive*, - Timespec mtime) + Incremental_archive_entry(Stringpool::Key filename_key, Timespec mtime) : Incremental_input_entry(filename_key, mtime), members_(), unused_syms_() { } @@ -531,16 +530,16 @@ class Incremental_inputs // Record the initial info for archive file ARCHIVE. void - report_archive_begin(Archive* arch); + report_archive_begin(Library_base* arch); // Record the final info for archive file ARCHIVE. void - report_archive_end(Archive* arch); + report_archive_end(Library_base* arch); // Record the info for object file OBJ. If ARCH is not NULL, // attach the object file to the archive. void - report_object(Object* obj, Archive* arch); + report_object(Object* obj, Library_base* arch); // Record an input section belonging to object file OBJ. void -- cgit v1.1