From d361fafb734b52810cb9b33a62c1d5b8931ed86f Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Thu, 25 Oct 2012 20:51:32 +0000 Subject: [PATCH] Issue a fatal error on bad fwrite return * dwp.cc (Dwo_file::record_target_info): Issue a fatal error on bad fwrite return. --- gold/ChangeLog | 5 +++++ gold/dwp.cc | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) 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. -- 2.30.2