aboutsummaryrefslogtreecommitdiff
path: root/gold/script.h
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.h
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.h')
-rw-r--r--gold/script.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/gold/script.h b/gold/script.h
index e4554d0..781d24d 100644
--- a/gold/script.h
+++ b/gold/script.h
@@ -45,6 +45,7 @@ class Symbol_table;
class Layout;
class Mapfile;
class Input_argument;
+class Input_arguments;
class Input_objects;
class Input_group;
class Input_file;
@@ -382,6 +383,26 @@ class Script_options
Script_sections script_sections_;
};
+// Information about a script input that will persist during the whole linker
+// run. Needed only during an incremental build to retrieve the input files
+// added by this script.
+
+class Script_info
+{
+ public:
+ Script_info(Input_arguments* inputs)
+ : inputs_(inputs)
+ { }
+
+ // Returns the input files included because of this script.
+ Input_arguments*
+ inputs()
+ { return inputs_; }
+
+ private:
+ Input_arguments* inputs_;
+};
+
// FILE was found as an argument on the command line, but was not
// recognized as an ELF file. Try to read it as a script. Return
// true if the file was handled. This has to handle /usr/lib/libc.so