On 02/02/2016 03:12 AM, Richard W.M. Jones wrote:
On Mon, Feb 01, 2016 at 03:37:07PM +0100, Martin Kletzander wrote:
> So we recently started compiling with gcc 5 and there's a new thing now
> and we don't build on gcc 6. I know it's just a development build, but
> it finds new things, like:
>
> fdstream.c: In function 'virFDStreamWrite':
> fdstream.c:390:29: error: logical 'or' of equal expressions
[-Werror=logical-op]
> if (errno == EAGAIN || errno == EWOULDBLOCK) {
> ^~
> fdstream.c: In function 'virFDStreamRead':
> fdstream.c:440:29: error: logical 'or' of equal expressions
[-Werror=logical-op]
> if (errno == EAGAIN || errno == EWOULDBLOCK) {
> ^~
FWIW this was fixed in libguestfs by rewriting the expression as:
+ if (errno == EWOULDBLOCK ||
+ (EWOULDBLOCK != EAGAIN && errno == EAGAIN))
Yep, this works. I'll probably push something like this under the
build-breaker rule, so that our pending release builds out of the box on
current rawhide.
I'm also seeing failures on rawhide due to the wireshark problems
(should be fixed within 24 hours once
http://koji.fedoraproject.org/koji/taskinfo?taskID=13106963 lands) and
due to this:
../../tests/securityselinuxhelper.c:307:24: error: conflicting types for
'selabel_open'
struct selabel_handle *selabel_open(unsigned int backend,
^~~~~~~~~~~~
In file included from ../../tests/securityselinuxhelper.c:32:0:
/usr/include/selinux/label.h:73:24: note: previous declaration of
'selabel_open' was here
struct selabel_handle *selabel_open(unsigned int backend,
^~~~~~~~~~~~
which doesn't say which parameter type changed in the latest selinux
headers, but also something we'll want to patch sooner rather than later.
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library
http://libvirt.org