[Patch] Fix build problem with system call in compile/compile.c

Steve Ellcey
2015-01-06T00:44:29Z

I am building gdb (and all of binutils) on ubuntu 12.04 with GCC 4.6.3.
During compilation the gdb build fails with:

/scratch/sellcey/repos/nightly_test/src/binutils-gdb/gdb/compile/compile.c:175:10: error: ignoring return value of 'system', declared with attribute warn_unused_result [-Werror=unused-result]
cc1: all warnings being treated as errors
make[1]: *** [compile.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory `/scratch/sellcey/repos/nightly_test/obj-mips-img-linux-gnu/binutils-gdb/gdb'
make: *** [all-gdb] Error 2

I am not sure why other people aren't running into this but I would like to
apply this patch to fix the build problem.

OK to checkin?

Steve Ellcey
sellcey@imgtec.com

2015-01-05 Steve Ellcey <sellcey@imgtec.com>

* compile/compile.c (do_rmdir): Assign return value of system call.

diff --git a/gdb/compile/compile.c b/gdb/compile/compile.c
index 1d18bd7..f9f03f1 100644
--- a/gdb/compile/compile.c
+++ b/gdb/compile/compile.c
@@ -169,10 +169,12 @@ do_rmdir (void *arg)
{
const char *dir = arg;
char *zap;
+ int i;

gdb_assert (strncmp (dir, TMP_PREFIX, strlen (TMP_PREFIX)) == 0);
zap = concat ("rm -rf ", dir, (char *) NULL);
- system (zap);
+ /* GCC may generate warning if we ignore the return value of system call. */
+ i = system (zap);
}

/* Return the name of the temporary directory to use for .o files, and