Message ID | 20200318125236.652514-1-ferruh.yigit@intel.com (mailing list archive) |
---|---|
State | Accepted, archived |
Delegated to: | Ferruh Yigit |
Headers | show |
Series | net/cxgbe: fix build with clang 3.4.2 | expand |
Context | Check | Description |
---|---|---|
ci/Intel-compilation | fail | apply issues |
ci/checkpatch | success | coding style OK |
On 3/18/2020 12:52 PM, Ferruh Yigit wrote: > Build error: > .../drivers/net/cxgbe/cxgbe_flow.c:315:2: > error: implicit truncation from 'int' to bitfield changes value > from -1 to 7 [-Werror,-Wbitfield-constant-conversion] > CXGBE_FILL_FS(adap->pf, ~0, pf); > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > .../drivers/net/cxgbe/cxgbe_flow.c:25:2: > note: expanded from macro 'CXGBE_FILL_FS' > __CXGBE_FILL_FS(v, m, fs, elem, e) > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > .../drivers/net/cxgbe/cxgbe_flow.c:15:18: note: > expanded from macro '__CXGBE_FILL_FS' > (fs)->mask.elem = (__m); \ > ^ ~~~~~ > Commit in fixes line changes 'PF_BITWIDTH' to '3', which makes 'fs->pf' > bitfield size '3', changing '~0' to '0x7' to prevent truncation in > assignment. > > Fixes: dcd456abe46f ("net/cxgbe: support flow API for matching all packets on PF") > > Reported-by: Raslan Darawsheh <rasland@mellanox.com> > Reported-by: Xueming Zhang <xuemingx.zhang@intel.com> > Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> Hi Raslan, Xueming, Can you please confirm the above patch on top of next-net fixes the build issue? Thanks, ferruh
On Wednesday, March 03/18/20, 2020 at 12:52:36 +0000, Ferruh Yigit wrote: > Build error: > .../drivers/net/cxgbe/cxgbe_flow.c:315:2: > error: implicit truncation from 'int' to bitfield changes value > from -1 to 7 [-Werror,-Wbitfield-constant-conversion] > CXGBE_FILL_FS(adap->pf, ~0, pf); > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > .../drivers/net/cxgbe/cxgbe_flow.c:25:2: > note: expanded from macro 'CXGBE_FILL_FS' > __CXGBE_FILL_FS(v, m, fs, elem, e) > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > .../drivers/net/cxgbe/cxgbe_flow.c:15:18: note: > expanded from macro '__CXGBE_FILL_FS' > (fs)->mask.elem = (__m); \ > ^ ~~~~~ > Commit in fixes line changes 'PF_BITWIDTH' to '3', which makes 'fs->pf' > bitfield size '3', changing '~0' to '0x7' to prevent truncation in > assignment. > > Fixes: dcd456abe46f ("net/cxgbe: support flow API for matching all packets on PF") > > Reported-by: Raslan Darawsheh <rasland@mellanox.com> > Reported-by: Xueming Zhang <xuemingx.zhang@intel.com> > Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> I've tested CLANG compilation with 9.0.1 without this patch, but couldn't hit the above mentioned error. # clang --version clang version 9.0.1 (Fedora 9.0.1-2.fc31) However, after grabbing CLANG 3.4.2, I could see the error. # clang --version clang version 3.4.2 (tags/RELEASE_34/dot2-final) This patch fixes it and the fix is correct too. Thanks for fixing it. Acked-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com> > --- > Cc: kaara.satwik@chelsio.com > --- > drivers/net/cxgbe/cxgbe_flow.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/net/cxgbe/cxgbe_flow.c b/drivers/net/cxgbe/cxgbe_flow.c > index 13fd78aaf..a46515d3b 100644 > --- a/drivers/net/cxgbe/cxgbe_flow.c > +++ b/drivers/net/cxgbe/cxgbe_flow.c > @@ -312,7 +312,7 @@ ch_rte_parsetype_pf(const void *dmask __rte_unused, > > CXGBE_FILL_FS(1, 1, pfvf_vld); > > - CXGBE_FILL_FS(adap->pf, ~0, pf); > + CXGBE_FILL_FS(adap->pf, 0x7, pf); > return 0; > } > > -- > 2.25.1 >
Hi, > -----Original Message----- > From: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com> > Sent: Wednesday, March 18, 2020 3:48 PM > To: Ferruh Yigit <ferruh.yigit@intel.com> > Cc: Karra Satwik <kaara.satwik@chelsio.com>; dev@dpdk.org; Raslan > Darawsheh <rasland@mellanox.com>; Xueming Zhang > <xuemingx.zhang@intel.com> > Subject: Re: [PATCH] net/cxgbe: fix build with clang 3.4.2 > > On Wednesday, March 03/18/20, 2020 at 12:52:36 +0000, Ferruh Yigit wrote: > > Build error: > > .../drivers/net/cxgbe/cxgbe_flow.c:315:2: > > error: implicit truncation from 'int' to bitfield changes value > > from -1 to 7 [-Werror,-Wbitfield-constant-conversion] > > CXGBE_FILL_FS(adap->pf, ~0, pf); > > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > .../drivers/net/cxgbe/cxgbe_flow.c:25:2: > > note: expanded from macro 'CXGBE_FILL_FS' > > __CXGBE_FILL_FS(v, m, fs, elem, e) > > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > .../drivers/net/cxgbe/cxgbe_flow.c:15:18: note: > > expanded from macro '__CXGBE_FILL_FS' > > (fs)->mask.elem = (__m); \ > > ^ ~~~~~ > > Commit in fixes line changes 'PF_BITWIDTH' to '3', which makes 'fs->pf' > > bitfield size '3', changing '~0' to '0x7' to prevent truncation in > > assignment. > > > > Fixes: dcd456abe46f ("net/cxgbe: support flow API for matching all packets > on PF") > > > > Reported-by: Raslan Darawsheh <rasland@mellanox.com> > > Reported-by: Xueming Zhang <xuemingx.zhang@intel.com> > > Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> > > I've tested CLANG compilation with 9.0.1 without this patch, > but couldn't hit the above mentioned error. > > # clang --version > clang version 9.0.1 (Fedora 9.0.1-2.fc31) > > However, after grabbing CLANG 3.4.2, I could see the error. > > # clang --version > clang version 3.4.2 (tags/RELEASE_34/dot2-final) > > This patch fixes it and the fix is correct too. > > Thanks for fixing it. > Working just fine for me as well, thanks for the update Tested-by: Raslan Darawsheh <rasland@mellanox.com> > Acked-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com> > > > --- > > Cc: kaara.satwik@chelsio.com > > --- > > drivers/net/cxgbe/cxgbe_flow.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/net/cxgbe/cxgbe_flow.c > b/drivers/net/cxgbe/cxgbe_flow.c > > index 13fd78aaf..a46515d3b 100644 > > --- a/drivers/net/cxgbe/cxgbe_flow.c > > +++ b/drivers/net/cxgbe/cxgbe_flow.c > > @@ -312,7 +312,7 @@ ch_rte_parsetype_pf(const void *dmask > __rte_unused, > > > > CXGBE_FILL_FS(1, 1, pfvf_vld); > > > > - CXGBE_FILL_FS(adap->pf, ~0, pf); > > + CXGBE_FILL_FS(adap->pf, 0x7, pf); > > return 0; > > } > > > > -- > > 2.25.1 > >
On 3/18/2020 1:48 PM, Rahul Lakkireddy wrote: > On Wednesday, March 03/18/20, 2020 at 12:52:36 +0000, Ferruh Yigit wrote: >> Build error: >> .../drivers/net/cxgbe/cxgbe_flow.c:315:2: >> error: implicit truncation from 'int' to bitfield changes value >> from -1 to 7 [-Werror,-Wbitfield-constant-conversion] >> CXGBE_FILL_FS(adap->pf, ~0, pf); >> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> .../drivers/net/cxgbe/cxgbe_flow.c:25:2: >> note: expanded from macro 'CXGBE_FILL_FS' >> __CXGBE_FILL_FS(v, m, fs, elem, e) >> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> .../drivers/net/cxgbe/cxgbe_flow.c:15:18: note: >> expanded from macro '__CXGBE_FILL_FS' >> (fs)->mask.elem = (__m); \ >> ^ ~~~~~ >> Commit in fixes line changes 'PF_BITWIDTH' to '3', which makes 'fs->pf' >> bitfield size '3', changing '~0' to '0x7' to prevent truncation in >> assignment. >> >> Fixes: dcd456abe46f ("net/cxgbe: support flow API for matching all packets on PF") >> >> Reported-by: Raslan Darawsheh <rasland@mellanox.com> >> Reported-by: Xueming Zhang <xuemingx.zhang@intel.com> >> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> > > I've tested CLANG compilation with 9.0.1 without this patch, > but couldn't hit the above mentioned error. > > # clang --version > clang version 9.0.1 (Fedora 9.0.1-2.fc31) > > However, after grabbing CLANG 3.4.2, I could see the error. > > # clang --version > clang version 3.4.2 (tags/RELEASE_34/dot2-final) > > This patch fixes it and the fix is correct too. > > Thanks for fixing it. > > Acked-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com> Squashed into relevant commit in next-net, thanks.
Many thanks Ferruh. In dpdk-next-net and dpdk-next-net-intel, the patch verified. >-----Original Message----- >From: Yigit, Ferruh >Sent: Wednesday, March 18, 2020 9:10 PM >To: Raslan Darawsheh <rasland@mellanox.com>; Zhang, XuemingX ><xuemingx.zhang@intel.com> >Cc: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>; Karra Satwik ><kaara.satwik@chelsio.com>; dev@dpdk.org >Subject: Re: [PATCH] net/cxgbe: fix build with clang 3.4.2 > >On 3/18/2020 12:52 PM, Ferruh Yigit wrote: >> Build error: >> .../drivers/net/cxgbe/cxgbe_flow.c:315:2: >> error: implicit truncation from 'int' to bitfield changes >value >> from -1 to 7 [-Werror,-Wbitfield-constant-conversion] >> CXGBE_FILL_FS(adap->pf, ~0, pf); >> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> .../drivers/net/cxgbe/cxgbe_flow.c:25:2: >> note: expanded from macro 'CXGBE_FILL_FS' >> __CXGBE_FILL_FS(v, m, fs, elem, e) >> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> .../drivers/net/cxgbe/cxgbe_flow.c:15:18: note: >> expanded from macro '__CXGBE_FILL_FS' >> (fs)->mask.elem = (__m); \ >> ^ ~~~~~ >> Commit in fixes line changes 'PF_BITWIDTH' to '3', which makes >'fs->pf' >> bitfield size '3', changing '~0' to '0x7' to prevent truncation in >> assignment. >> >> Fixes: dcd456abe46f ("net/cxgbe: support flow API for matching all >> packets on PF") >> >> Reported-by: Raslan Darawsheh <rasland@mellanox.com> >> Reported-by: Xueming Zhang <xuemingx.zhang@intel.com> >> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> > > >Hi Raslan, Xueming, > >Can you please confirm the above patch on top of next-net fixes the >build issue? > >Thanks, >ferruh
diff --git a/drivers/net/cxgbe/cxgbe_flow.c b/drivers/net/cxgbe/cxgbe_flow.c index 13fd78aaf..a46515d3b 100644 --- a/drivers/net/cxgbe/cxgbe_flow.c +++ b/drivers/net/cxgbe/cxgbe_flow.c @@ -312,7 +312,7 @@ ch_rte_parsetype_pf(const void *dmask __rte_unused, CXGBE_FILL_FS(1, 1, pfvf_vld); - CXGBE_FILL_FS(adap->pf, ~0, pf); + CXGBE_FILL_FS(adap->pf, 0x7, pf); return 0; }
Build error: .../drivers/net/cxgbe/cxgbe_flow.c:315:2: error: implicit truncation from 'int' to bitfield changes value from -1 to 7 [-Werror,-Wbitfield-constant-conversion] CXGBE_FILL_FS(adap->pf, ~0, pf); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .../drivers/net/cxgbe/cxgbe_flow.c:25:2: note: expanded from macro 'CXGBE_FILL_FS' __CXGBE_FILL_FS(v, m, fs, elem, e) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .../drivers/net/cxgbe/cxgbe_flow.c:15:18: note: expanded from macro '__CXGBE_FILL_FS' (fs)->mask.elem = (__m); \ ^ ~~~~~ Commit in fixes line changes 'PF_BITWIDTH' to '3', which makes 'fs->pf' bitfield size '3', changing '~0' to '0x7' to prevent truncation in assignment. Fixes: dcd456abe46f ("net/cxgbe: support flow API for matching all packets on PF") Reported-by: Raslan Darawsheh <rasland@mellanox.com> Reported-by: Xueming Zhang <xuemingx.zhang@intel.com> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> --- Cc: kaara.satwik@chelsio.com --- drivers/net/cxgbe/cxgbe_flow.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)