From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tonghao Zhang Subject: Re: Build is broken in dpdk-next-net Date: Fri, 30 Mar 2018 22:47:09 +0800 Message-ID: References: <93d00a28-d52d-25b3-42d0-84b1d95c756a@redhat.com> <20180330162830.1d7ccba2@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Cc: Maxime Coquelin , Andrew Rybchenko , "dev@dpdk.org" , Ferruh Yigit , Thomas Monjalon To: Timothy Redaelli Return-path: Received: from mail-oi0-f67.google.com (mail-oi0-f67.google.com [209.85.218.67]) by dpdk.org (Postfix) with ESMTP id AB5604C93 for ; Fri, 30 Mar 2018 16:47:10 +0200 (CEST) Received: by mail-oi0-f67.google.com with SMTP id q71-v6so7967967oic.6 for ; Fri, 30 Mar 2018 07:47:10 -0700 (PDT) In-Reply-To: <20180330162830.1d7ccba2@redhat.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" I rebuild it on ubuntu 17.10 and cash it. I use the 'RTE_SET_USED' to fix i= t. 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 =3D read(readfd, charbuf, sizeof(charbuf)); + 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); + int r =3D write(fdset->u.writefd, "1", 1); + RTE_SET_USED(r); } On Fri, Mar 30, 2018 at 10:28 PM, Timothy Redaelli w= rote: > 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 =E2=80=98fdset_pipe_read_cb=E2= =80=99: >> > lib/librte_vhost/fd_man.c:284:2: error: ignoring return value of >> > =E2=80=98read=E2=80=99, declared with attribute warn_unused_result >> > [-Werror=3Dunused-result] read(readfd, charbuf, sizeof(charbuf)); ^ >> > lib/librte_vhost/fd_man.c: In function =E2=80=98fdset_pipe_notify=E2= =80=99: >> > lib/librte_vhost/fd_man.c:324:2: error: ignoring return value of >> > =E2=80=98write=E2=80=99, declared with attribute warn_unused_result >> > [-Werror=3Dunused-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=3D2" (enabled by > default in Ubuntu [1]). > > To have the same behavior on Fedora you need to set -D_FORTIFY_SOURCE=3D2 > by hand, for example with: > > # make EXTRA_CFLAGS=3D"-D_FORTIFY_SOURCE=3D2" > > 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=3D"-O2 -g -pipe -Werror=3Dformat-security > -Wp,-D_FORTIFY_SOURCE=3D2 -fexceptions -fstack-protector-strong > --param=3Dssp-buffer-size=3D4 -grecord-gcc-switches > -specs=3D/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=3Dgeneric > -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 >