diff options
author | Ian Lance Taylor <ian@airs.com> | 2009-05-15 17:01:04 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 2009-05-15 17:01:04 +0000 |
commit | 072fe7ce7a6d9d6b401284de5858495157a35df3 (patch) | |
tree | ca7231716f83cae7acf0c8b04566ffcef0f4c762 /gold/script.h | |
parent | 17a37d488c16b07d3a1f069ef727e2e53c622722 (diff) | |
download | gdb-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.h | 21 |
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 |