Olaf Hering
2010-Nov-02 10:34 UTC
[Xen-devel] new compile error in gx_comm.c in xen-unstable
Hello,
there is a regression between xen-unstable rev 22314 and 22344,
gx_comm.c does not compile anymore due to -Werror, see below.
I think a simpe ''if (write(args..))
perror("write");'' will be good enough.
Olaf
gcc -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -funwind-tables
-fasynchronous-unwind-tables -O1 -fno-omit-frame-pointer
-fno-optimize-sibling-calls -m64 -g -fno-strict-aliasing -std=gnu99
-Wall -Wstrict-prototypes -Wno-unused-value
-Wdeclaration-after-statement -O1 -fno-omit-frame-pointer
-fno-optimize-sibling-calls -m64 -g -fno-strict-aliasing -std=gnu99
-Wall -Wstrict-prototypes -Wno-unused-value
-Wdeclaration-after-statement -O1 -fno-omit-frame-pointer
-fno-optimize-sibling-calls -m64 -g -fno-strict-aliasing -std=gnu99
-Wall -Wstrict-prototypes -Wno-unused-value
-Wdeclaration-after-statement -D__XEN_TOOLS__ -MMD -MF
.subdirs-install.d -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -O1
-fno-omit-frame-pointer -fno-optimize-sibling-calls -m64 -g
-fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes
-Wno-unused-value -Wdeclaration-after-statement -D__XEN_TOOLS__ -MMD
-MF .gdbsx.d -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -O1
-fno-omit-frame-pointer -fno-optimize-sibling-calls -m64 -g
-fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes
-Wno-unused-value -Wdeclaration-after-statement -D__XEN_TOOLS__ -MMD
-MF .all.d -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -Werror
-Wmissing-prototypes -O1 -fno-omit-frame-pointer
-fno-optimize-sibling-calls -m64 -g -fno-strict-aliasing -std=gnu99
-Wall -Wstrict-prototypes -Wno-unused-value
-Wdeclaration-after-statement -D__XEN_TOOLS__ -MMD -MF .gx_comm.o.d
-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -Werror -Wmissing-prototypes
-c -o gx_comm.o gx_comm.c
cc1: warnings being treated as errors
gx_comm.c: In function ''gx_getpkt'':
gx_comm.c:230: error: ignoring return value of ''write'', declared with attribute warn_unused_result
gx_comm.c:236: error: ignoring return value of ''write'', declared with attribute warn_unused_result
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
On Tue, 2010-11-02 at 10:34 +0000, Olaf Hering wrote:> Hello, > > there is a regression between xen-unstable rev 22314 and 22344, > gx_comm.c does not compile anymore due to -Werror, see below. > I think a simpe ''if (write(args..)) perror("write");'' will be good enough. > > OlafFYI: it doesn''t look like a regression but perhaps a compiler/library update? ---8<-------------8<--------------8<-------------------- This leads to warn_unused_result checks triggering in some libraries and compilers. Combined with -Werror this breaks the build. Signed-off-by: Gianni Tedesco <gianni.tedesco@citrix.com> diff -r ee4d52f0d16a tools/debugger/gdbsx/gx/gx_comm.c --- a/tools/debugger/gdbsx/gx/gx_comm.c Tue Nov 02 07:35:52 2010 +0000 +++ b/tools/debugger/gdbsx/gx/gx_comm.c Tue Nov 02 16:06:43 2010 +0000 @@ -227,13 +227,15 @@ gx_getpkt (char *buf) gxprt("Bad checksum, sentsum=0x%x, csum=0x%x, buf=%s\n", (c1 << 4) + c2, csum, buf); - write(remote_fd, "-", 1); + if ( write(remote_fd, "-", 1) != 1 ) + perror("write"); } if (gx_remote_dbg) { gxprt("getpkt (\"%s\"); [sending ack] \n", buf); } - write(remote_fd, "+", 1); + if ( write(remote_fd, "+", 1) != 1 ) + perror("write"); if (gx_remote_dbg) { gxprt("[sent ack]\n"); _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
On Tue, Nov 2, 2010 at 9:11 AM, Gianni Tedesco <gianni.tedesco@citrix.com>wrote:> On Tue, 2010-11-02 at 10:34 +0000, Olaf Hering wrote: > > Hello, > > > > there is a regression between xen-unstable rev 22314 and 22344, > > gx_comm.c does not compile anymore due to -Werror, see below. > > I think a simpe ''if (write(args..)) perror("write");'' will be good > enough. > > > > Olaf > > FYI: it doesn''t look like a regression but perhaps a compiler/library > update? > > ---8<-------------8<--------------8<-------------------- > This leads to warn_unused_result checks triggering in some libraries and > compilers. Combined with -Werror this breaks the build. > > Signed-off-by: Gianni Tedesco <gianni.tedesco@citrix.com> > > diff -r ee4d52f0d16a tools/debugger/gdbsx/gx/gx_comm.c > --- a/tools/debugger/gdbsx/gx/gx_comm.c Tue Nov 02 07:35:52 2010 +0000 > +++ b/tools/debugger/gdbsx/gx/gx_comm.c Tue Nov 02 16:06:43 2010 +0000 > @@ -227,13 +227,15 @@ gx_getpkt (char *buf) > > gxprt("Bad checksum, sentsum=0x%x, csum=0x%x, buf=%s\n", > (c1 << 4) + c2, csum, buf); > - write(remote_fd, "-", 1); > + if ( write(remote_fd, "-", 1) != 1 ) > + perror("write"); > } > if (gx_remote_dbg) { > gxprt("getpkt (\"%s\"); [sending ack] \n", buf); > } > > - write(remote_fd, "+", 1); > + if ( write(remote_fd, "+", 1) != 1 ) > + perror("write"); > > if (gx_remote_dbg) { > gxprt("[sent ack]\n"); > > > Confirming the same problem:o-unused-value -Wdeclaration-after-statement -D__XEN_TOOLS__ -MMD -MF .gx_local.o.d -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -Werror -Wmissing-prototypes -c -o gx_local.o gx_local.c cc1: warnings being treated as errors gx_comm.c: In function ‘gx_getpkt’: gx_comm.c:230: error: ignoring return value of ‘write’, declared with attribute warn_unused_result gx_comm.c:236: error: ignoring return value of ‘write’, declared with attribute warn_unused_result %> gcc --version gcc (Ubuntu 4.4.3-4ubuntu5) 4.4.3 -Bruce> > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
On Tue, Nov 02, Bruce Edge wrote:> o-unused-value -Wdeclaration-after-statement -D__XEN_TOOLS__ -MMD -MF > .gx_local.o.d -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -Werror > -Wmissing-prototypes -c -o gx_local.o gx_local.c > cc1: warnings being treated as errors > gx_comm.c: In function ‘gx_getpkt’: > gx_comm.c:230: error: ignoring return value of ‘write’, declared with > attribute warn_unused_result > gx_comm.c:236: error: ignoring return value of ‘write’, declared with > attribute warn_unused_resultWith the patch applied, the line number 236 should be 237. Please apply the suggested patch, its not upstream yet. Olaf _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Gianni Tedesco writes ("[PATCH]: gdbsx: Check return of
write()"):> - write(remote_fd, "-", 1);
> + if ( write(remote_fd, "-", 1) != 1 )
> + perror("write");
Thanks. I''ve applied this. I fixed the formatting to be constent
with the other parts of the same file, and also arranged for errors to
actually cause the function to return -1 as the head comment suggests
it should.
Ian.
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
Bruce Edge
2010-Nov-03 14:10 UTC
Re: [Xen-devel] Re: [PATCH]: gdbsx: Check return of write()
On Wed, Nov 3, 2010 at 4:59 AM, Ian Jackson <Ian.Jackson@eu.citrix.com>wrote:> Gianni Tedesco writes ("[PATCH]: gdbsx: Check return of write()"): > > - write(remote_fd, "-", 1); > > + if ( write(remote_fd, "-", 1) != 1 ) > > + perror("write"); > > Thanks. I''ve applied this. I fixed the formatting to be constent > with the other parts of the same file, and also arranged for errors to > actually cause the function to return -1 as the head comment suggests > it should. > > What branch is this applied to?I''m not seeing it in http://xenbits.xensource.com/xen-unstable.hg -Bruce> Ian. > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Olaf Hering
2010-Nov-03 14:16 UTC
Re: [Xen-devel] Re: [PATCH]: gdbsx: Check return of write()
On Wed, Nov 03, Bruce Edge wrote:> What branch is this applied to? > I''m not seeing it in http://xenbits.xensource.com/xen-unstable.hgIts in staging now: http://xenbits.xen.org/staging/xen-unstable.hg staging is syned to the other url on a regular base, look for the PUSHED mails that get send out a few times the week. Olaf _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel