summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gold/ChangeLog5
-rw-r--r--gold/dwp.cc4
2 files changed, 8 insertions, 1 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog
index 4e52f32402..a15902ec59 100644
--- a/gold/ChangeLog
+++ b/gold/ChangeLog
@@ -1,5 +1,10 @@
2012-10-25 H.J. Lu <hongjiu.lu@intel.com>
+ * dwp.cc (Dwo_file::record_target_info): Issue a fatal error
+ on bad fwrite return.
+
+2012-10-25 H.J. Lu <hongjiu.lu@intel.com>
+
* dwp.cc (Dwo_file::remap_str_offset): Use section_offset_type
on val.
diff --git a/gold/dwp.cc b/gold/dwp.cc
index aaee4650e5..92e3b6b84a 100644
--- a/gold/dwp.cc
+++ b/gold/dwp.cc
@@ -1458,7 +1458,9 @@ Dwp_output_file::record_target_info(const char*, int machine,
// Write zeroes for the ELF header initially. We'll write
// the actual header during finalize().
static const char buf[elfcpp::Elf_sizes<64>::ehdr_size] = { 0 };
- ::fwrite(buf, 1, this->next_file_offset_, this->fd_);
+ if (::fwrite(buf, 1, this->next_file_offset_, this->fd_)
+ < (size_t) this->next_file_offset_)
+ gold_fatal(_("%s: %s"), this->name_, strerror(errno));
}
// Add a string to the debug strings section.