aboutsummaryrefslogtreecommitdiff
path: root/gold/script.cc
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>2009-05-15 17:01:04 +0000
committerIan Lance Taylor <ian@airs.com>2009-05-15 17:01:04 +0000
commit072fe7ce7a6d9d6b401284de5858495157a35df3 (patch)
treeca7231716f83cae7acf0c8b04566ffcef0f4c762 /gold/script.cc
parent17a37d488c16b07d3a1f069ef727e2e53c622722 (diff)
downloadgdb-072fe7ce7a6d9d6b401284de5858495157a35df3.zip
gdb-072fe7ce7a6d9d6b401284de5858495157a35df3.tar.gz
gdb-072fe7ce7a6d9d6b401284de5858495157a35df3.tar.bz2
* gold.h (Incremental_argument_list): Remove (invalid) forward
declaration. * incremental.cc (Incremental_inputs::report_achive): New method. (Incremental_inputs::report_object): New method. (Incremental_inputs::report_script): New method. (Incremental_inputs::finalize_inputs): New method. (Incremental_inputs::finalize): Call finalize_inputs(). (Incremental_inputs::sized_create_incremental_inputs_section_data): Create inputs entries. * incremental.h (Incremental_input_type): New enum. (Incremental_inputs::Incremental_input): Initialize new fields. (Incremental_inputs::report_inputs): New method. (Incremental_inputs::report_achive): New method. (Incremental_inputs::report_object): New method. (Incremental_inputs::report_script): New method. (Incremental_inputs::finalize_inputs): New method. (Incremental_inputs::Input_info): New struct. (Incremental_inputs::Input_info_map): New typedef. (Incremental_inputs::lock_): New field. (Incremental_inputs::Inputs_): New field. (Incremental_inputs::Inputs_map): New field. * main.cc (main): Call Incremental_input::report_inputs. * options.h (Input_argument_list): Typedef moved from Input_arguments. (Input_file_group::Files): Remove, use ::Input_argument_list. (Input_file_group::Input_argument_list): Remove, use ::Input_argument_list. * plugin.cc (Plugin_manager::add_input_file): Add error in incremental build. * read_syms.cc (do_read_syms): Call Incremental_input::report_* functions. * script.cc (read_input_script): Call Incremental_input::report_script. * script.h (Script_info): New class.
Diffstat (limited to 'gold/script.cc')
-rw-r--r--gold/script.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/gold/script.cc b/gold/script.cc
index 30b4e3c..86ce13b 100644
--- a/gold/script.cc
+++ b/gold/script.cc
@@ -43,6 +43,7 @@
#include "target-select.h"
#include "script.h"
#include "script-c.h"
+#include "incremental.h"
namespace gold
{
@@ -1414,6 +1415,13 @@ read_input_script(Workqueue* workqueue, Symbol_table* symtab, Layout* layout,
this_blocker = nb;
}
+ if (layout->incremental_inputs())
+ {
+ // Like new Read_symbols(...) above, we rely on close.inputs()
+ // getting leaked by closure.
+ Script_info* info = new Script_info(closure.inputs());
+ layout->incremental_inputs()->report_script(input_argument, info);
+ }
*used_next_blocker = true;
return true;