[dpdk-stable] [dpdk-dev] [PATCH v2] config/ppc: ignore gcc 11 psabi warnings

Bruce Richardson bruce.richardson at intel.com
Tue Sep 14 12:21:23 CEST 2021


On Tue, Sep 14, 2021 at 12:16:36PM +0200, David Marchand wrote:
> On Tue, Sep 14, 2021 at 11:18 AM Ferruh Yigit <ferruh.yigit at intel.com> wrote:
> >
> > On 9/3/2021 12:53 AM, David Christensen wrote:
> > > Suppress the gcc warning "note: the layout of aggregates containing
> > > vectors with 4-byte alignment has changed in GCC 5" on POWER systems
> > > by setting "-Wno-psabi".  Warning was originally added to gcc in
> > > commit https://gcc.gnu.org/git/gitweb.cgi?p=gcc.git;h=9832651 to warn
> > > of the vector alignment changes introduced in GCC 5.  Older gcc
> > > versions forced vector alignment to 16 bytes due to requirements for
> > > POWER 6 and earlier CPUs, but these restrictions don't apply to CPUs
> > > supported by DPDK.
> > >
> > > Bugzilla ID: 739
> > >
> > > Signed-off-by: David Christensen <drc at linux.vnet.ibm.com>
> > > ---
> > > v2:
> > > - update copyright year
> > > - rebase for 21.11-rc0
> > > ---
> > >  config/ppc/meson.build | 7 +++++++
> > >  1 file changed, 7 insertions(+)
> > >
> > > diff --git a/config/ppc/meson.build b/config/ppc/meson.build
> > > index adf49e1f42..5354db4e0a 100644
> > > --- a/config/ppc/meson.build
> > > +++ b/config/ppc/meson.build
> > > @@ -1,5 +1,6 @@
> > >  # SPDX-License-Identifier: BSD-3-Clause
> > >  # Copyright(c) 2018 Luca Boccassi <bluca at debian.org>
> > > +# Copyright(c) 2021 IBM Corporation
> > >
> > >  if not dpdk_conf.get('RTE_ARCH_64')
> > >      error('Only 64-bit compiles are supported for this platform type')
> > > @@ -17,6 +18,12 @@ if not power9_supported
> > >      dpdk_conf.set('RTE_MACHINE','power8')
> > >  endif
> > >
> > > +# Suppress the gcc warning "note: the layout of aggregates containing
> > > +# vectors with 4-byte alignment has changed in GCC 5".
> > > +if cc.get_id() == 'gcc' and cc.version().version_compare('>=10.0') and cc.version().version_compare('<12.0') and cc.has_argument('-Wno-psabi')
> > > +    add_project_arguments('-Wno-psabi', language: 'c')
> > > +endif
> > > +
> > >  # Certain POWER9 systems can scale as high as 1536 LCORES, but setting such a
> > >  # high value can waste memory, cause timeouts in time limited autotests, and is
> > >  # unlikely to be used in many production situations.  Similarly, keeping the
> > > --
> >
> > I am getting following build error in my environment:
> > "config/ppc/meson.build:23:6: ERROR: Unknown statement."
> >
> > The compiler I have is:
> > powerpc64le-linux-gcc (gcc 10.2.0 "powerpc64le-linux-gcc.br_real (Buildroot
> > 2020.08-14-ge5a2a90) 10.2.0")
> >
> > meson version: Version: 0.59.1
> 
> Good catch.
> My fault, and I did not see it because I was still testing with gcc 9.
> 
> 
> >
> > Multi-line statements seems need to be merged with '\':
> >
> > diff --git a/config/ppc/meson.build b/config/ppc/meson.build
> > index 0b1948fc7cb9..f95009c77e7a 100644
> > --- a/config/ppc/meson.build
> > +++ b/config/ppc/meson.build
> > @@ -20,7 +20,7 @@ endif
> >
> >  # Suppress the gcc warning "note: the layout of aggregates containing
> >  # vectors with 4-byte alignment has changed in GCC 5".
> > -if cc.get_id() == 'gcc' and cc.version().version_compare('>=10.0') and
> > +if cc.get_id() == 'gcc' and cc.version().version_compare('>=10.0') and \
> >          cc.version().version_compare('<12.0') and cc.has_argument('-Wno-psabi')
> 
> I based this update of mine on other existing multiline statements in dpdk.
> But I did not notice that all of them are within parens.
> 
> So both \ and () are fine.
> 
> Bruce, I did not see this described in our meson coding style.
> Do you have an opinion for multiline statements in meson?
> 

No, I don't have an opinion either way. If you want, we can pick one to use
in the coding style, but if we do we should also match the style for python
code, as I believe they both share this multi-line approach.


More information about the stable mailing list