aboutsummaryrefslogtreecommitdiff
path: root/gold/incremental.cc
diff options
context:
space:
mode:
authorRafael Ávila de Espíndola <respindola@mozilla.com>2009-12-02 16:27:15 +0000
committerRafael Ávila de Espíndola <respindola@mozilla.com>2009-12-02 16:27:15 +0000
commita45500ae379230cefa3b76d4b5c902d7c8e858ca (patch)
tree05181c492e4eb8e531412c1ed1bd5e38d56ffcba /gold/incremental.cc
parent325e6408a8d7bc42a5997c34615c91cac1e0a6b0 (diff)
downloadfsf-binutils-gdb-a45500ae379230cefa3b76d4b5c902d7c8e858ca.zip
fsf-binutils-gdb-a45500ae379230cefa3b76d4b5c902d7c8e858ca.tar.gz
fsf-binutils-gdb-a45500ae379230cefa3b76d4b5c902d7c8e858ca.tar.bz2
2009-12-02 Rafael Avila de Espindola <espindola@google.com>
* incremental-dump.cc (main): Check that the offeset of a script is 0. * incremental.cc (Incremental_inputs::sized_create_inputs_section_data): Write 0 for the data_offset of scripts.
Diffstat (limited to 'gold/incremental.cc')
-rw-r--r--gold/incremental.cc16
1 files changed, 16 insertions, 0 deletions
diff --git a/gold/incremental.cc b/gold/incremental.cc
index 97b3eea..e89372a 100644
--- a/gold/incremental.cc
+++ b/gold/incremental.cc
@@ -650,6 +650,22 @@ Incremental_inputs::sized_create_inputs_section_data()
int filename_offset =
this->strtab_->get_offset_from_key(it->second.filename_key);
entry.put_filename_offset(filename_offset);
+ switch (it->second.type)
+ {
+ case INCREMENTAL_INPUT_SCRIPT:
+ entry.put_data_offset(0);
+ break;
+ case INCREMENTAL_INPUT_ARCHIVE:
+ case INCREMENTAL_INPUT_OBJECT:
+ case INCREMENTAL_INPUT_SHARED_LIBRARY:
+ // TODO: add per input data. Currently we store
+ // an out-of-bounds offset for future version of gold to reject
+ // such an incremental_inputs section.
+ entry.put_data_offset(0xffffffff);
+ break;
+ default:
+ gold_unreachable();
+ }
// TODO: add per input data and timestamp. Currently we store
// an out-of-bounds offset for future version of gold to reject
// such an incremental_inputs section.