diff options
author | Cary Coutant <ccoutant@google.com> | 2011-06-09 18:18:43 +0000 |
---|---|---|
committer | Cary Coutant <ccoutant@google.com> | 2011-06-09 18:18:43 +0000 |
commit | 3f7bcfca83a86fb9b4394333822b3ec35c7d0fd6 (patch) | |
tree | 7895b6625c557aff0627a9517bf39a2089f113c3 | |
parent | ea7242b7fbb150f2807df8885d388d6f22f84d5c (diff) | |
download | binutils-redhat-3f7bcfca83a86fb9b4394333822b3ec35c7d0fd6.tar.gz |
PR gold/12804
* gold/gold.cc (queue_initial_tasks): Warn if --incremental is
used with --compress-debug-sections.
* gold/object.cc (Sized_relobj_file::do_layout): Report
uncompressed size of compressed input sections.
-rw-r--r-- | gold/ChangeLog | 8 | ||||
-rw-r--r-- | gold/gold.cc | 3 | ||||
-rw-r--r-- | gold/object.cc | 9 |
3 files changed, 18 insertions, 2 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog index 15b0b0b273..5c705bf9b3 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,3 +1,11 @@ +2011-06-09 Cary Coutant <ccoutant@google.com> + + PR gold/12804 + * gold/gold.cc (queue_initial_tasks): Warn if --incremental is + used with --compress-debug-sections. + * gold/object.cc (Sized_relobj_file::do_layout): Report + uncompressed size of compressed input sections. + 2011-06-08 Cary Coutant <ccoutant@google.com> PR gold/12804 diff --git a/gold/gold.cc b/gold/gold.cc index 95c226c5dd..f68ba3e71f 100644 --- a/gold/gold.cc +++ b/gold/gold.cc @@ -200,6 +200,9 @@ queue_initial_tasks(const General_options& options, gold_error(_("incremental linking is incompatible with --icf")); if (options.has_plugins()) gold_error(_("incremental linking is incompatible with --plugin")); + if (strcmp(options.compress_debug_sections(), "none") != 0) + gold_error(_("incremental linking is incompatible with " + "--compress-debug-sections")); if (parameters->incremental_update()) { diff --git a/gold/object.cc b/gold/object.cc index b14c85db87..b51cbfee5d 100644 --- a/gold/object.cc +++ b/gold/object.cc @@ -1299,8 +1299,13 @@ Sized_relobj_file<size, big_endian>::do_layout(Symbol_table* symtab, && (shdr.get_sh_type() == elfcpp::SHT_PROGBITS || shdr.get_sh_type() == elfcpp::SHT_NOBITS || shdr.get_sh_type() == elfcpp::SHT_NOTE)) - incremental_inputs->report_input_section(this, i, name, - shdr.get_sh_size()); + { + off_t sh_size = shdr.get_sh_size(); + section_size_type uncompressed_size; + if (this->section_is_compressed(i, &uncompressed_size)) + sh_size = uncompressed_size; + incremental_inputs->report_input_section(this, i, name, sh_size); + } if (discard) { |