From 55ba0940d96a0da92a3ab3234a5fb7ae0b445b5f Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Fri, 9 May 2008 14:13:06 +0000 Subject: PR 6493 * gold.cc (gold_nomem): Use return value of write. --- gold/gold.cc | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'gold/gold.cc') diff --git a/gold/gold.cc b/gold/gold.cc index 396a5a9..267c4d1 100644 --- a/gold/gold.cc +++ b/gold/gold.cc @@ -60,9 +60,18 @@ gold_nomem() // We are out of memory, so try hard to print a reasonable message. // Note that we don't try to translate this message, since the // translation process itself will require memory. - write(2, program_name, strlen(program_name)); - const char* const s = ": out of memory\n"; - write(2, s, strlen(s)); + + // LEN only exists to avoid a pointless warning when write is + // declared with warn_use_result, as when compiling with + // -D_USE_FORTIFY on GNU/Linux. Casting to void does not appear to + // work, at least not with gcc 4.3.0. + + ssize_t len = write(2, program_name, strlen(program_name)); + if (len >= 0) + { + const char* const s = ": out of memory\n"; + len = write(2, s, strlen(s)); + } gold_exit(false); } -- cgit v1.1