diff options
author | Ian Lance Taylor <ian@airs.com> | 2009-04-24 15:44:02 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 2009-04-24 15:44:02 +0000 |
commit | 3ce2c28e3f647d0771a197b76477ddc8cbb611b2 (patch) | |
tree | 14d493e1d69102339db0ded1b5e365584dd79986 /gold/layout.h | |
parent | f50230ae440d80638167b5520afbe4dc6480df4f (diff) | |
download | gdb-3ce2c28e3f647d0771a197b76477ddc8cbb611b2.zip gdb-3ce2c28e3f647d0771a197b76477ddc8cbb611b2.tar.gz gdb-3ce2c28e3f647d0771a197b76477ddc8cbb611b2.tar.bz2 |
* incremental.cc (Incremental_inputs_header_data): Renamed from
Incremental_input_header_data.
(Incremental_inputs_header_data::data_size): New field.
(Incremental_inputs_header_data::put_input_file_count): Renamed
from input_file_count.
(Incremental_inputs_header_data::put_command_line_offset): Renamed
from command_line_offset.
(Incremental_inputs_header_data::put_reserved): Renamed from
put_reserved.
(Incremental_inputs_entry_data): Renamed from
Incremental_input_entry_data.
(Incremental_inputs_entry_data::data_size): New field.
(Incremental_inputs::report_command_line): New method.
(Incremental_inputs::finalize): New method.
(Incremental_inputs::create_incremental_inputs_data): New method.
(Incremental_inputs::sized_create_incremental_inputs_data): New method.
* incremental.h: New file.
* layout.cc (Layout::Layout): Handle new incremental_inputs_.
(Layout::finalize): Create incremental inputs section in
incremental builds.
(Layout::create_incremental_info_sections): New method.
* layout.h (Layout::incremental_inputs): New method.
(Layout::create_incremental_info_sections): New method.
(Layout::incremental_inputs_): New field.
* main.cc (main): Notify Incremental_input of the command line.
Diffstat (limited to 'gold/layout.h')
-rw-r--r-- | gold/layout.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/gold/layout.h b/gold/layout.h index 52be1d4..0a9146b 100644 --- a/gold/layout.h +++ b/gold/layout.h @@ -39,6 +39,7 @@ namespace gold { class General_options; +class Incremental_inputs; class Input_objects; class Mapfile; class Symbol_table; @@ -368,6 +369,12 @@ class Layout script_options() const { return this->script_options_; } + // Return the object managing inputs in incremental build. NULL in + // non-incremental builds. + Incremental_inputs* + incremental_inputs() + { return this->incremental_inputs_; } + // Compute and write out the build ID if needed. void write_build_id(Output_file*) const; @@ -473,6 +480,11 @@ class Layout void create_build_id(); + // Create .gnu_incremental_inputs and .gnu_incremental_strtab sections needed + // for the next run of incremental linking to check what has changed. + void + create_incremental_info_sections(); + // Find the first read-only PT_LOAD segment, creating one if // necessary. Output_segment* @@ -717,6 +729,9 @@ class Layout bool any_postprocessing_sections_; // Whether we have resized the signatures_ hash table. bool resized_signatures_; + // In incremental build, holds information check the inputs and build the + // .gnu_incremental_inputs section. + Incremental_inputs* incremental_inputs_; }; // This task handles writing out data in output sections which is not |