From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx1.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by dpdk.org (Postfix) with ESMTP id 7348E5B1C for ; Fri, 30 Mar 2018 17:00:04 +0200 (CEST) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 082D381638F0; Fri, 30 Mar 2018 15:00:04 +0000 (UTC) Received: from [10.36.112.32] (ovpn-112-32.ams2.redhat.com [10.36.112.32]) by smtp.corp.redhat.com (Postfix) with ESMTPS id B6F731C715; Fri, 30 Mar 2018 14:59:59 +0000 (UTC) To: Tonghao Zhang , Timothy Redaelli Cc: Andrew Rybchenko , "dev@dpdk.org" , Ferruh Yigit , Thomas Monjalon References: <93d00a28-d52d-25b3-42d0-84b1d95c756a@redhat.com> <20180330162830.1d7ccba2@redhat.com> From: Maxime Coquelin Message-ID: <919879b3-2143-3f94-1ba1-736a4853f4dd@redhat.com> Date: Fri, 30 Mar 2018 16:59:57 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit X-Scanned-By: MIMEDefang 2.79 on 10.11.54.5 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.8]); Fri, 30 Mar 2018 15:00:04 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.8]); Fri, 30 Mar 2018 15:00:04 +0000 (UTC) for IP:'10.11.54.5' DOMAIN:'int-mx05.intmail.prod.int.rdu2.redhat.com' HELO:'smtp.corp.redhat.com' FROM:'maxime.coquelin@redhat.com' RCPT:'' Subject: Re: [dpdk-dev] Build is broken in dpdk-next-net X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 30 Mar 2018 15:00:04 -0000 Thanks Xiangxia, I can post it, do you agree if I add below comments? On 03/30/2018 04:47 PM, Tonghao Zhang wrote: > I rebuild it on ubuntu 17.10 and cash it. I use the 'RTE_SET_USED' to fix it. > > > diff --git a/lib/librte_vhost/fd_man.c b/lib/librte_vhost/fd_man.c > index 771675718..f11803191 100644 > --- a/lib/librte_vhost/fd_man.c > +++ b/lib/librte_vhost/fd_man.c > @@ -279,7 +279,8 @@ fdset_pipe_read_cb(int readfd, void *dat __rte_unused, > int *remove __rte_unused) > { > char charbuf[16]; > - read(readfd, charbuf, sizeof(charbuf)); > + int r = read(readfd, charbuf, sizeof(charbuf)); /* Just an optimization, we don't care if read() failed so ignore explicitly its return value to make the compiler happy */ > + RTE_SET_USED(r); > } > > void > @@ -319,5 +320,6 @@ fdset_pipe_init(struct fdset *fdset) > void > fdset_pipe_notify(struct fdset *fdset) > { > - write(fdset->u.writefd, "1", 1); /* Just an optimization, we don't care if write() failed so ignore explicitly its return value to make the compiler happy */ > + int r = write(fdset->u.writefd, "1", 1); > + RTE_SET_USED(r); > } > > On Fri, Mar 30, 2018 at 10:28 PM, Timothy Redaelli wrote: >> On Fri, 30 Mar 2018 15:27:55 +0200 >> Maxime Coquelin wrote: >> >>> Hi Andrew, >>> >>> On 03/30/2018 03:18 PM, Andrew Rybchenko wrote: >>>> Hi all, >>>> >>>> Build is broken in dpdk-next-net for me on Ubuntu 16.04.4: >>>> >>>> lib/librte_vhost/fd_man.c: In function ‘fdset_pipe_read_cb’: >>>> lib/librte_vhost/fd_man.c:284:2: error: ignoring return value of >>>> ‘read’, declared with attribute warn_unused_result >>>> [-Werror=unused-result] read(readfd, charbuf, sizeof(charbuf)); ^ >>>> lib/librte_vhost/fd_man.c: In function ‘fdset_pipe_notify’: >>>> lib/librte_vhost/fd_man.c:324:2: error: ignoring return value of >>>> ‘write’, declared with attribute warn_unused_result >>>> [-Werror=unused-result] write(fdset->u.writefd, "1", 1); ^ >>>> >>>> $ gcc --version >>>> gcc (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609 >>> >>> Thanks for reporting, I don't catch it with my Fedora build system: >>> $ gcc --version >>> gcc (GCC) 7.3.1 20180303 (Red Hat 7.3.1-5) >> >> Those kind of warnings are enabled by "-D_FORTIFY_SOURCE=2" (enabled by >> default in Ubuntu [1]). >> >> To have the same behavior on Fedora you need to set -D_FORTIFY_SOURCE=2 >> by hand, for example with: >> >> # make EXTRA_CFLAGS="-D_FORTIFY_SOURCE=2" >> >> Usually I build dpdk with the flags we also use when we build the >> Fedora/RHEL package. To do that I have in my .bashrc (all in one line): >> >> export EXTRA_CFLAGS="-O2 -g -pipe -Werror=format-security >> -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong >> --param=ssp-buffer-size=4 -grecord-gcc-switches >> -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic >> -fasynchronous-unwind-tables -Wformat" >> >>>> >>>> As I understand it is broken in >>>> ad94ade905454401b705be9e06b19e54a1c78148 vhost: add pipe event for >>>> optimizing negotiating >>> >>> I confirm it is this patch. >>> >>> Xiangxia, can you provide a fix please? >>> >>> Ferruh, how do you want to proceed? >>> Would you revert it? >>> >>> Thanks, >>> Maxime >>>> Andrew. >>>> >> >> [1] >> https://wiki.ubuntu.com/ToolChain/CompilerFlags#A-D_FORTIFY_SOURCE.3D2 >>