mirror of
https://github.com/bminor/binutils-gdb.git
synced 2025-12-28 10:00:51 +00:00
* 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.
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user