+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.
+
2009-12-02 Rafael Avila de Espindola <espindola@google.com>
* testsuite/Makefile.am: Add the incremental_test.sh test.
break;
case INCREMENTAL_INPUT_SCRIPT:
printf("Linker script\n");
+ if (input->data_offset != 0)
+ {
+ fprintf(stderr,"%s: %s: %u is a script but offset is not zero",
+ argv[0], filename, i);
+ return 1;
+ }
break;
case INCREMENTAL_INPUT_INVALID:
default:
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.