From: Gabe Black Date: Wed, 8 Apr 2020 09:28:29 +0000 (-0700) Subject: util: Standardize console output in the m5 writefile command. X-Git-Tag: v20.1.0.0~381 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=cef72adabc48328bf8e43baf3792cf0a2a18a8a5;p=gem5.git util: Standardize console output in the m5 writefile command. When the command reports an error, it should then exit(2) and not just return as if everything worked. When printing the number of bytes written or the file being opened, it should write this non-error message to cout, and not cerr. Also used proper capitalization and punctuation in a couple messages. Change-Id: I2c0d6592357965ed2eee8f090c8b3d530b354b9f Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/27627 Reviewed-by: Jason Lowe-Power Reviewed-by: Pouya Fotouhi Maintainer: Jason Lowe-Power Tested-by: kokoro --- diff --git a/util/m5/src/command/writefile.cc b/util/m5/src/command/writefile.cc index bef193296..7771dfe03 100644 --- a/util/m5/src/command/writefile.cc +++ b/util/m5/src/command/writefile.cc @@ -26,6 +26,8 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +#include + #include #include #include @@ -41,12 +43,13 @@ void write_file(const DispatchTable &dt, const std::string &filename, const std::string &host_filename) { - std::cerr << "opening " << filename << std::endl; + std::cout << "Opening \"" << filename << "\"." << std::endl; std::ifstream src(filename, std::ios_base::in | std::ios_base::binary); if (!src) { - std::cerr << "error opening " << filename << std::endl; - return; + std::cerr << "Error opening \"" << filename << "\": " << + strerror(errno) << std::endl; + exit(2); } char buf[256 * 1024]; @@ -58,8 +61,11 @@ write_file(const DispatchTable &dt, const std::string &filename, src.seekg(offset); src.read(buf, sizeof(buf)); int len = src.gcount(); - if (!src && !src.eof()) - break; + if (!src && !src.eof()) { + std::cerr << "Error reading \"" << filename << "\": " << + strerror(errno) << std::endl; + exit(2); + } char *wbuf = buf; while (len) { int bytes = (*dt.m5_write_file)( @@ -71,7 +77,7 @@ write_file(const DispatchTable &dt, const std::string &filename, if (src.eof()) break; } - std::cerr << "Wrote " << offset << " bytes." << std::endl; + std::cout << "Wrote " << offset << " bytes." << std::endl; } bool