aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRafael Ávila de Espíndola <respindola@mozilla.com>2009-11-25 00:10:05 +0000
committerRafael Ávila de Espíndola <respindola@mozilla.com>2009-11-25 00:10:05 +0000
commite2b8f3c4012cd3fe89ec3c272bc1b41b4aa3bbb0 (patch)
tree3a19bf9982fae1eefb37bc27f6a72b8dfa6d8760 /gold/incremental.h
parent*** empty log message *** (diff)
downloadbinutils-gdb-e2b8f3c4012cd3fe89ec3c272bc1b41b4aa3bbb0.tar.gz
binutils-gdb-e2b8f3c4012cd3fe89ec3c272bc1b41b4aa3bbb0.tar.bz2
binutils-gdb-e2b8f3c4012cd3fe89ec3c272bc1b41b4aa3bbb0.zip
2009-11-24 Rafael Avila de Espindola <espindola@google.com>
* Makefile.am: Build incremental-dump * Makefile.in: Regenerate. * incremental-dump.cc: New. * incremental.cc (Incremental_inputs_header_data, Incremental_inputs_entry_data): Move to incremental.h * incremental.h: (Incremental_inputs_header_data, Incremental_inputs_entry_data): Move from incremental.cc 2009-11-24 Rafael Avila de Espindola <espindola@google.com> * elfcpp_file.h: Include elfcpp.h.
Diffstat (limited to 'gold/incremental.h')
-rw-r--r--gold/incremental.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/gold/incremental.h b/gold/incremental.h
index b53f6c1cc3c..f6e36faba80 100644
--- a/gold/incremental.h
+++ b/gold/incremental.h
@@ -52,6 +52,45 @@ enum Incremental_input_type
INCREMENTAL_INPUT_SCRIPT = 4
};
+// Header of the .gnu_incremental_input section.
+struct Incremental_inputs_header_data
+{
+ // Incremental linker version.
+ elfcpp::Elf_Word version;
+
+ // Numer of input files in the link.
+ elfcpp::Elf_Word input_file_count;
+
+ // Offset of command line options in .gnu_incremental_strtab.
+ elfcpp::Elf_Word command_line_offset;
+
+ // Padding.
+ elfcpp::Elf_Word reserved;
+};
+
+// Data stored in .gnu_incremental_input after the header for each of the
+// Incremental_input_header_data::input_file_count input entries.
+struct Incremental_inputs_entry_data
+{
+ // Offset of file name in .gnu_incremental_strtab section.
+ elfcpp::Elf_Word filename_offset;
+
+ // Offset of data in .gnu_incremental_input.
+ elfcpp::Elf_Word data_offset;
+
+ // Timestamp (in seconds).
+ elfcpp::Elf_Xword timestamp_sec;
+
+ // Nano-second part of timestamp (if supported).
+ elfcpp::Elf_Word timestamp_nsec;
+
+ // Type of the input entry.
+ elfcpp::Elf_Half input_type;
+
+ // Padding.
+ elfcpp::Elf_Half reserved;
+};
+
// An object representing the ELF file we edit during an incremental build.
// Similar to Object or Dynobj, but operates on Output_file and contains
// method specific to file edition (TBD). This is the abstract parent class