> -----Original Message----- > From: Bruce Richardson <bruce.richard...@intel.com> > Sent: Friday, May 3, 2019 9:55 PM > To: Jerin Jacob Kollanukkaran <jer...@marvell.com> > Cc: Thomas Monjalon <tho...@monjalon.net>; Reshma Pattan > <reshma.pat...@intel.com>; dev@dpdk.org; David Marchand > <david.march...@redhat.com>; vikto...@rehivetech.com; Gavin Hu (Arm > Technology China) <gavin...@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-boun...@dpdk.org> On Behalf Of Thomas Monjalon > > > Sent: Thursday, May 2, 2019 9:27 PM > > > To: Reshma Pattan <reshma.pat...@intel.com> > > > Cc: dev@dpdk.org; David Marchand <david.march...@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.pat...@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.pat...@intel.com> > > > > > > > > > > > > > > Tested on rhel-7 and fedora-30. > > > > Tested-by: David Marchand <david.march...@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