[dpdk-dev] [EXT] Re: [PATCH] mk: disable warning with gcc 9 on Fedora 30

Jerin Jacob Kollanukkaran jerinj at marvell.com
Fri May 3 19:24:14 CEST 2019


> -----Original Message-----
> From: Bruce Richardson <bruce.richardson at intel.com>
> Sent: Friday, May 3, 2019 9:55 PM
> To: Jerin Jacob Kollanukkaran <jerinj at marvell.com>
> Cc: Thomas Monjalon <thomas at monjalon.net>; Reshma Pattan
> <reshma.pattan at intel.com>; dev at dpdk.org; David Marchand
> <david.marchand at redhat.com>; viktorin at rehivetech.com; Gavin Hu (Arm
> Technology China) <Gavin.Hu at arm.com>
> Subject: [EXT] Re: [dpdk-dev] [PATCH] mk: disable warning with gcc 9 on Fedora
> On Fri, May 03, 2019 at 04:01:38PM +0000, Jerin Jacob Kollanukkaran wrote:
> > > -----Original Message-----
> > > From: dev <dev-bounces at dpdk.org> On Behalf Of Thomas Monjalon
> > > Sent: Thursday, May 2, 2019 9:27 PM
> > > To: Reshma Pattan <reshma.pattan at intel.com>
> > > Cc: dev at dpdk.org; David Marchand <david.marchand at redhat.com>
> > > Subject: Re: [dpdk-dev] [PATCH] mk: disable warning with gcc 9 on
> > > Fedora 30
> > >
> > > 02/05/2019 17:00, David Marchand:
> > > > On Thu, May 2, 2019 at 11:33 AM Reshma Pattan
> > > > <reshma.pattan at intel.com>
> > > > wrote:
> > > >
> > > > > gcc 9 on Fedora 30 gives an error "taking address of packed
> > > > > member may result in an unaligned pointer value" warnings.
> > > > >
> > > > > For clang builds this warning is already disabled, so disable
> > > > > "-Waddress-of-packed-member" for gcc builds also.
> > > > >
> > > > > Snippet of build error:
> > > > > ...lib/librte_eal/linux/eal/eal_memalloc.c: In function ‘alloc_seg_walk’:
> > > > > ...lib/librte_eal/linux/eal/eal_memalloc.c:768:12: error: taking
> > > > > address of packed member of ‘struct rte_mem_config’ may result
> > > > > in an unaligned pointer value [-Werror=address-of-packed-member]
> > > > >   768 |  cur_msl = &mcfg->memsegs[msl_idx];
> > > > >       |            ^~~~~~~~~~~~~~~~~~~~~~~
> > > > >
> > > > > Signed-off-by: Reshma Pattan <reshma.pattan at intel.com>
> > > > >
> > > > >
> > > > Tested on rhel-7 and fedora-30.
> > > > Tested-by: David Marchand <david.marchand at redhat.com>
> > >
> > > Applied, thanks
> >
> > Its been found that one of the armv7 toolchain treats
> > -Wno-address-of-packed-member as unrecognized command line option,
> > Hence armv7 build fails on dpdk.org master now. Not sure it is specific to
> armv7 or compiler?
> >
> > Armv7 is not maintained and I don’t think, it has any use case for DPDK.
> > If everyone agrees IMO it is better remove the arm 32bit support.
> >
> >     arm-buildroot-linux-gnueabihf-gcc -v
> >     Using built-in specs.
> >     COLLECT_GCC=/opt/armv7-eabihf--glibc--stable-2018.11-1/
> >     bin/arm-buildroot-linux-gnueabihf-gcc.br_real
> >     COLLECT_LTO_WRAPPER=/opt/armv7-eabihf--glibc--stable-2018.11-1/
> >     libexec/gcc/arm-buildroot-linux-gnueabihf/7.3.0/lto-wrapper
> >     Target: arm-buildroot-linux-gnueabihf
> >     Configured with: ./configure
> >     --prefix=/opt/armv7-eabihf--glibc--stable-2018.11-1
> >     --sysconfdir=/opt/armv7-eabihf--glibc--stable-2018.11-1/etc
> >     --enable-static --target=arm-buildroot-linux-gnueabihf
> >     --with-sysroot=/opt/armv7-eabihf--glibc--stable-2018.11-1/
> >     arm-buildroot-linux-gnueabihf/sysroot
> >     --disable-__cxa_atexit --with-gnu-ld --disable-libssp --disable-multilib
> >     --with-gmp=/opt/armv7-eabihf--glibc--stable-2018.11-1
> >     --with-mpc=/opt/armv7-eabihf--glibc--stable-2018.11-1
> >     --with-mpfr=/opt/armv7-eabihf--glibc--stable-2018.11-1
> >     --with-pkgversion='Buildroot 2018.08.1-00003-g576b333'
> >     --with-bugurl=http://bugs.buildroot.net/ --disable-libquadmath
> >     --enable-tls --disable-libmudflap --enable-threads --without-isl
> >     --without-cloog --disable-decimal-float --with-abi=aa
> >     pcs-linux --with-cpu=cortex-a9 --with-fpu=vfpv3-d16 --with-float=hard
> >     --with-mode=arm --enable-languages=c,c++
> >     --with-build-time-tools=/opt/armv7-eabihf--glibc--stable-2018.11-1/
> >     arm-buildroot-linux-gnueabihf/bin --enable-shared --disable-libgomp
> >     Thread model: posix
> >     gcc version 7.3.0 (Buildroot 2018.08.1-00003-g576b333)
> >
> >     error log:
> >
> >     dpdk.org/lib/librte_eal/linux/eal/eal_vfio_mp_sync.c: At top level:
> >     cc1: error: unrecognized command line option
> >     ‘-Wno-address-of-packed-member’ [-Werror]
> >     cc1: all warnings being treated as errors
> >
> 
> Are you sure there is not another error as well? GCC silently ignores flags like
> this one normally, but does report them as unrecognised if-and-only-if another
> error or warning is given too.

That’s explains reason for error for armv7(the file has other warnings). 
There are plenty of warning for armv7 port. That is the one reason why, I think, we need to remove
Armv7 port if there is no end user for it. It just  a pain to maintain it.

arm-buildroot-linux-gnueabihf-gcc -Wp,-MD,./.eal_vfio.o.d.tmp  -marm -munaligned-access -pthread -I/home/jerin/dpdk.org/lib/librte_eal/linux/eal/include  -march=armv7-a -mtune=cortex-a9 -mfpu
=neon -DRTE_MACHINE_CPUFLAG_NEON  -I/home/jerin/dpdk.org/build/include -include /home/jerin/dpdk.org/build/include/rte_config.h -D_GNU_SOURCE -DALLOW_EXPERIMENTAL_API -I/home/jerin/dpdk.org/l
ib/librte_eal/linux/eal/include -I/home/jerin/dpdk.org/lib/librte_eal/common -I/home/jerin/dpdk.org/lib/librte_eal/common/include -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-d
eclarations -Wold-style-definition -Wpointer-arith -Wcast-align -Wnested-externs -Wcast-qual -Wformat-nonliteral -Wformat-security -Wundef -Wwrite-strings -Wdeprecated -Werror -Wno-error=cast
-align -Wimplicit-fallthrough=2 -Wno-format-truncation -Wno-address-of-packed-member -O3    -o eal_vfio.o -c /home/jerin/dpdk.org/lib/librte_eal/linux/eal/eal_vfio.c
/home/jerin/dpdk.org/lib/librte_eal/linux/eal/eal_vfio.c: In function ‘vfio_open_group_fd’:
/home/jerin/dpdk.org/lib/librte_eal/linux/eal/eal_vfio.c:268:28: warning: cast increases required alignment of target type [-Wcast-align]
  struct vfio_mp_param *p = (struct vfio_mp_param *)mp_req.param;
                            ^
/home/jerin/dpdk.org/lib/librte_eal/linux/eal/eal_vfio.c:315:7: warning: cast increases required alignment of target type [-Wcast-align]
   p = (struct vfio_mp_param *)mp_rep->param;
       ^
/home/jerin/dpdk.org/lib/librte_eal/linux/eal/eal_vfio.c: In function ‘vfio_sync_default_container’:
/home/jerin/dpdk.org/lib/librte_eal/linux/eal/eal_vfio.c:558:28: warning: cast increases required alignment of target type [-Wcast-align]
  struct vfio_mp_param *p = (struct vfio_mp_param *)mp_req.param;
                            ^
/home/jerin/dpdk.org/lib/librte_eal/linux/eal/eal_vfio.c:583:7: warning: cast increases required alignment of target type [-Wcast-align]
   p = (struct vfio_mp_param *)mp_rep->param;
       ^
/home/jerin/dpdk.org/lib/librte_eal/linux/eal/eal_vfio.c: In function ‘vfio_get_default_container_fd’:
/home/jerin/dpdk.org/lib/librte_eal/linux/eal/eal_vfio.c:1027:28: warning: cast increases required alignment of target type [-Wcast-align]
  struct vfio_mp_param *p = (struct vfio_mp_param *)mp_req.param;
                            ^
/home/jerin/dpdk.org/lib/librte_eal/linux/eal/eal_vfio.c:1048:7: warning: cast increases required alignment of target type [-Wcast-align]
   p = (struct vfio_mp_param *)mp_rep->param;
       ^
/home/jerin/dpdk.org/lib/librte_eal/linux/eal/eal_vfio.c: In function ‘rte_vfio_get_container_fd’:
/home/jerin/dpdk.org/lib/librte_eal/linux/eal/eal_vfio.c:1133:28: warning: cast increases required alignment of target type [-Wcast-align]
  struct vfio_mp_param *p = (struct vfio_mp_param *)mp_req.param;
                            ^
/home/jerin/dpdk.org/lib/librte_eal/linux/eal/eal_vfio.c:1179:7: warning: cast increases required alignment of target type [-Wcast-align]
   p = (struct vfio_mp_param *)mp_rep->param;
       ^
/home/jerin/dpdk.org/lib/librte_eal/linux/eal/eal_vfio.c: At top level:
cc1: error: unrecognized command line option ‘-Wno-address-of-packed-member’ [-Werror]
cc1: all warnings being treated as errors
make[5]: *** [/home/jerin/dpdk.org/mk/internal/rte.compile-pre.mk:116: eal_vfio.o] Error 1
make[4]: *** [/home/jerin/dpdk.org/mk/rte.subdir.mk:37: eal] Error 2
make[3]: *** [/home/jerin/dpdk.org/mk/rte.subdir.mk:37: linux] Error 2
make[2]: *** [/home/jerin/dpdk.org/mk/rte.subdir.mk:37: librte_eal] Error 2
make[1]: *** [/home/jerin/dpdk.org/mk/rte.sdkbuild.mk:48: lib] Error 2
make: *** [/home/jerin/dpdk.org/mk/rte.sdkroot.mk:99: all] Error 2




> 
> /Bruce


More information about the dev mailing list