aboutsummaryrefslogtreecommitdiff
path: root/gold/options.cc
diff options
context:
space:
mode:
authorCary Coutant <ccoutant@google.com>2011-03-30 21:07:13 +0000
committerCary Coutant <ccoutant@google.com>2011-03-30 21:07:13 +0000
commitc7975edd9eba42c2bd59948060d8d5c715456517 (patch)
tree2648d7512cb58f600066d281834f1c4d4aa53398 /gold/options.cc
parentef23e70580c5c6353e916d10f2f94eceba7a70cd (diff)
downloadfsf-binutils-gdb-c7975edd9eba42c2bd59948060d8d5c715456517.zip
fsf-binutils-gdb-c7975edd9eba42c2bd59948060d8d5c715456517.tar.gz
fsf-binutils-gdb-c7975edd9eba42c2bd59948060d8d5c715456517.tar.bz2
* archive.cc (Archive::include_member): Adjust call to report_object.
(Add_archive_symbols::run): Add script_info to call to report_archive_begin. (Lib_group::include_member): Adjust call to report_object. (Add_lib_group_symbols::run): Adjust call to report_object. * incremental-dump.cc (dump_incremental_inputs): Remove unnecessary blocks. Add object count for script input files. * incremental.cc (Incremental_inputs::report_archive_begin): Add script_info parameter; change all callers. (Incremental_inputs::report_object): Add script_info parameter; change all callers. (Incremental_inputs::report_script): Store backpointer to incremental info entry. (Output_section_incremental_inputs::set_final_data_size): Record additional information for scripts. (Output_section_incremental_inputs::write_info_blocks): Likewise. * incremental.h (Incremental_script_entry::add_object): New function. (Incremental_script_entry::get_object_count): New function. (Incremental_script_entry::get_object): New function. (Incremental_script_entry::objects_): New data member; adjust constructor. (Incremental_inputs::report_archive_begin): Add script_info parameter. (Incremental_inputs::report_object): Add script_info parameter. (Incremental_inputs_reader::get_object_count): New function. (Incremental_inputs_reader::get_object_offset): New function. * options.cc (Input_arguments::add_file): Return reference to new input argument. * options.h (Input_argument::set_script_info): New function. (Input_argument::script_info): New function. (Input_argument::script_info_): New data member; adjust all constructors. (Input_file_group::add_file): Return reference to new input argument. (Input_file_lib::add_file): Likewise. (Input_arguments::add_file): Likewise. * readsyms.cc (Add_symbols::run): Adjust call to report_object. * script.cc (Parser_closure::Parser_closure): Add script_info parameter; adjust all callers. (Parser_closure::script_info): New function. (Parser_closure::script_info_): New data member. (read_input_script): Report scripts earlier to incremental info. (script_add_file): Set script_info in Input_argument. (script_add_library): Likewise. * script.h (Script_options::Script_info): Rewrite class.
Diffstat (limited to 'gold/options.cc')
-rw-r--r--gold/options.cc12
1 files changed, 6 insertions, 6 deletions
diff --git a/gold/options.cc b/gold/options.cc
index 6ab2fe9..7e86543 100644
--- a/gold/options.cc
+++ b/gold/options.cc
@@ -1214,23 +1214,23 @@ Search_directory::add_sysroot(const char* sysroot,
// Add a file to the list.
-void
+Input_argument&
Input_arguments::add_file(const Input_file_argument& file)
{
if (this->in_group_)
{
gold_assert(!this->input_argument_list_.empty());
gold_assert(this->input_argument_list_.back().is_group());
- this->input_argument_list_.back().group()->add_file(file);
+ return this->input_argument_list_.back().group()->add_file(file);
}
- else if (this->in_lib_)
+ if (this->in_lib_)
{
gold_assert(!this->input_argument_list_.empty());
gold_assert(this->input_argument_list_.back().is_lib());
- this->input_argument_list_.back().lib()->add_file(file);
+ return this->input_argument_list_.back().lib()->add_file(file);
}
- else
- this->input_argument_list_.push_back(Input_argument(file));
+ this->input_argument_list_.push_back(Input_argument(file));
+ return this->input_argument_list_.back();
}
// Start a group.