This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [OB] Fix linux-low.c build error
On Sun, 18 Dec 2011 16:49:43 +0100, Hui Zhu wrote:
> Got:
> gcc -c -g -O2 -I. -I../../../src/gdb/gdbserver
> -I../../../src/gdb/gdbserver/../common
> -I../../../src/gdb/gdbserver/../regformats
> -I../../../src/gdb/gdbserver/../../include -Wall
> -Wdeclaration-after-statement -Wpointer-arith -Wformat-nonliteral
> -Wno-char-subscripts -Werror ../../../src/gdb/gdbserver/linux-low.c
> -DUSE_THREAD_DB
> cc1: warnings being treated as errors
> ../../../src/gdb/gdbserver/linux-low.c: In function ‘linux_create_inferior’:
> ../../../src/gdb/gdbserver/linux-low.c:580:10: error: ignoring return
> value of ‘write’, declared with attribute warn_unused_result
(a) Please do not wrap the lines, it is very unreadable this way.
(b) Please write down the GCC version you used. I do not see such behavior at
any of the FSF GCC versions
FSF: gcc (GCC) 4.4.7 20111218 (prerelease)
FSF: gcc (GCC) 4.5.4 20111218 (prerelease)
FSF: gcc (GCC) 4.6.3 20111218 (prerelease)
FSF: gcc (GCC) 4.7.0 20111218 (experimental)
nor at Fedora GCC versions such as gcc-4.6.2-1.fc17.1.x86_64.
(c) With these GCCs
FSF: gcc (GCC) 4.6.3 20111218 (prerelease)
FSF: gcc (GCC) 4.7.0 20111218 (experimental)
gcc-4.6.2-1.fc17.1.x86_64 gcc-4.6.2-1.fc16.x86_64
gcc-4.6.1-9.fc15.x86_64 (older Fedoras are EOLed)
it errors with:
gcc -c -m64 -ggdb2 -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -I. -I. -I./../common -I./../regformats -I./../../include -Wall -Wdeclaration-after-statement -Wpointer-arith -Wformat-nonliteral -Wno-char-subscripts -Werror linux-low.c -DUSE_THREAD_DB
linux-low.c: In function ‘linux_create_inferior’:
linux-low.c:577:8: error: variable ‘ret’ set but not used [-Werror=unused-but-set-variable]
cc1: all warnings being treated as errors
This is a regression.
(d) Please do not push changes needed for any obsolete and/or broken vendor
compilers into FSF GDB. I really have (or had) a ton of patches specific
to Fedoras, I do not push them to FSF GDB. They should stay at vendor GDB
branches.
Please revert the patch or fix it or FSF GCC >= 4.6.
Thanks,
Jan
> --- src/gdb/gdbserver/linux-low.c 2011/12/16 19:06:37 1.185
> +++ src/gdb/gdbserver/linux-low.c 2011/12/18 15:49:04 1.186
> @@ -574,11 +574,12 @@
> Also, redirect stdin to /dev/null. */
> if (remote_connection_is_stdio ())
> {
> + int ret;
Here should be empty line, between declarations and code.
> close (0);
> open ("/dev/null", O_RDONLY);
> dup2 (2, 1);
> - write (2, "stdin/stdout redirected\n",
> - sizeof ("stdin/stdout redirected\n") - 1);
> + ret = write (2, "stdin/stdout redirected\n",
> + sizeof ("stdin/stdout redirected\n") - 1);
> }
>
> execv (program, allargs);