diff --git a/gold/ChangeLog b/gold/ChangeLog index 4e52f32402d..a15902ec59b 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,3 +1,8 @@ +2012-10-25 H.J. Lu + + * dwp.cc (Dwo_file::record_target_info): Issue a fatal error + on bad fwrite return. + 2012-10-25 H.J. Lu * dwp.cc (Dwo_file::remap_str_offset): Use section_offset_type diff --git a/gold/dwp.cc b/gold/dwp.cc index aaee4650e52..92e3b6b84a3 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.