> -----Original Message-----
> From: Ferruh Yigit <ferruh.yi...@intel.com>
> Sent: Wednesday, May 6, 2020 10:15 PM
> To: Ruifeng Wang <ruifeng.w...@arm.com>; wenzhuo...@intel.com;
> konstantin.anan...@intel.com; jer...@marvell.com;
> vikto...@rehivetech.com
> Cc: dev@dpdk.org; Gavin Hu <gavin...@arm.com>; Honnappa Nagarahalli
> <honnappa.nagaraha...@arm.com>; juraj.lin...@pantheon.tech; nd
> <n...@arm.com>
> Subject: Re: [dpdk-dev] [PATCH 0/3] aarch32 compilation
> 
> On 5/6/2020 2:54 PM, Ruifeng Wang wrote:
> >
> >> -----Original Message-----
> >> From: Ferruh Yigit <ferruh.yi...@intel.com>
> >> Sent: Wednesday, May 6, 2020 6:14 PM
> >> To: Ruifeng Wang <ruifeng.w...@arm.com>; wenzhuo...@intel.com;
> >> konstantin.anan...@intel.com; jer...@marvell.com;
> >> vikto...@rehivetech.com
> >> Cc: dev@dpdk.org; Gavin Hu <gavin...@arm.com>; Honnappa
> Nagarahalli
> >> <honnappa.nagaraha...@arm.com>; juraj.lin...@pantheon.tech; nd
> >> <n...@arm.com>
> >> Subject: Re: [dpdk-dev] [PATCH 0/3] aarch32 compilation
> >>
> >> On 5/6/2020 9:09 AM, Ruifeng Wang wrote:
> >>>
> >>>> -----Original Message-----
> >>>> From: Ferruh Yigit <ferruh.yi...@intel.com>
> >>>> Sent: Friday, May 1, 2020 11:07 PM
> >>>> To: Ruifeng Wang <ruifeng.w...@arm.com>; wenzhuo...@intel.com;
> >>>> konstantin.anan...@intel.com; jer...@marvell.com;
> >>>> vikto...@rehivetech.com
> >>>> Cc: dev@dpdk.org; Gavin Hu <gavin...@arm.com>; Honnappa
> >> Nagarahalli
> >>>> <honnappa.nagaraha...@arm.com>; juraj.lin...@pantheon.tech; nd
> >>>> <n...@arm.com>
> >>>> Subject: Re: [dpdk-dev] [PATCH 0/3] aarch32 compilation
> >>>>
> >>>> On 4/24/2020 7:50 AM, Ruifeng Wang wrote:
> >>>>> Build aarch32 binary on aarch64 platform hit issues with l3fwd [1]
> >>>>> and ixgbe PMD [2]. This patch set is to fix these.
> >>>>>
> >>>>> When building with make, please refer to guide:
> >>>>> http://patches.dpdk.org/patch/62820/
> >>>>>
> >>>>> When building with meson, requires series:
> >>>>> http://patches.dpdk.org/cover/68534/
> >>>>>
> >>>>> [1] https://mails.dpdk.org/archives/dev/2020-April/162673.html
> >>>>> [2] https://mails.dpdk.org/archives/dev/2020-April/163846.html
> >>>>>
> >>>>>
> >>>>> Ruifeng Wang (3):
> >>>>>   arch/arm: add vcopyq intrinsic for aarch32
> >>>>>   net/ixgbe: add support for aarch32
> >>>>>   net/ixgbe: fix include of vector header file
> >>>>>
> >>>>
> >>>> Not directly related to this patch but since you are fixing aarch32
> >>>> compilation, I am getting following -Wcast-align warnings [1] while
> >>>> cross
> >> building with:
> >>>> arm-linux-gcc.br_real (Buildroot 2020.02-00011-g7ea8a52) 9.3.0
> >>>>
> >>> I got the same warnings with arm-linux-gnueabihf-gcc. The warnings
> >> spread in many different files.
> >>> It is because armv7a/aarch32 puts strict align requirement.
> >>> We can first make it compile. And clean up such warnings in next step?
> >>
> >> Sure.
> >>
> >> I thought it would break the build, aren't we using -Werror for the target?
> > Currently, "RTE_DEVEL_BUILD=n" is needed for armv7 build.
> > http://patches.dpdk.org/patch/62820/
> 
> May be not.
> 
> I did able to build without "RTE_DEVEL_BUILD=n", while checking how :),
> found that "CONFIG_RTE_ARCH_STRICT_ALIGN=y" set in the armv7a config
> (defconfig_arm-armv7a-linux-gcc), seems explicitly added for these '-Wcast-
> align' warnings.
> 
> Overall to the point of the discussion, since this way or that, build is not
> broken with cast-align warnings, I am OK to fix them later gradually.
> 
> A side note is, I wonder if these 'RTE_DEVEL_BUILD' or
> 'CONFIG_RTE_ARCH_STRICT_ALIGN' reflected to the meson build, taking
> into account that make build is going away on 20.11, will we able to keep
> these functionalities in meson.
> 
Yes. There is a patch to enable meson build for armv7, and 
'CONFIG_RTE_ARCH_STRICT_ALIGN' is added.
http://patches.dpdk.org/patch/69539/
Meson also provides option to set "werror".
The functionalities can be kept.
> >
> >>
> >>>
> >>>>
> >>>> [1]
> >>>> .../lib/librte_eal/linux/eal_vfio_mp_sync.c: In function
> ‘vfio_mp_primary’:
> >>>> .../lib/librte_eal/linux/eal_vfio_mp_sync.c:31:28: warning: cast
> >>>> increases required alignment of target type [-Wcast-align]
> >>>>    31 |  struct vfio_mp_param *r = (struct vfio_mp_param
> *)reply.param;
> >>>>       |                            ^
> >>>> .../lib/librte_eal/linux/eal_vfio_mp_sync.c:33:3: warning: cast
> >>>> increases required alignment of target type [-Wcast-align]
> >>>>    33 |   (const struct vfio_mp_param *)msg->param;
> >>>>       |   ^
> >>>> .../lib/librte_eal/linux/eal_vfio.c: In function ‘vfio_open_group_fd’:
> >>>> .../lib/librte_eal/linux/eal_vfio.c:269:28: warning: cast increases
> >>>> required alignment of target type [-Wcast-align]
> >>>>   269 |  struct vfio_mp_param *p = (struct vfio_mp_param
> >> *)mp_req.param;
> >>>>       |                            ^
> >>>> .../lib/librte_eal/linux/eal_vfio.c:316:7: warning: cast increases
> >>>> required alignment of target type [-Wcast-align]
> >>>>   316 |   p = (struct vfio_mp_param *)mp_rep->param;
> >>>>       |       ^
> >>>>   CC eal_common_class.o
> >>>> .../lib/librte_eal/linux/eal_vfio.c: In function
> >> ‘vfio_sync_default_container’:
> >>>> .../lib/librte_eal/linux/eal_vfio.c:627:28: warning: cast increases
> >>>> required alignment of target type [-Wcast-align]
> >>>>   627 |  struct vfio_mp_param *p = (struct vfio_mp_param
> >> *)mp_req.param;
> >>>>       |                            ^
> >>>> .../lib/librte_eal/linux/eal_vfio.c:652:7: warning: cast increases
> >>>> required alignment of target type [-Wcast-align]
> >>>>   652 |   p = (struct vfio_mp_param *)mp_rep->param;
> >>>>       |       ^
> >>>> .../lib/librte_eal/linux/eal_vfio.c: In function
> >> ‘vfio_get_default_container_fd’:
> >>>> .../lib/librte_eal/linux/eal_vfio.c:1094:28: warning: cast
> >>>> increases required alignment of target type [-Wcast-align]
> >>>>  1094 |  struct vfio_mp_param *p = (struct vfio_mp_param
> >> *)mp_req.param;
> >>>>       |                            ^
> >>>> .../lib/librte_eal/linux/eal_vfio.c:1116:7: warning: cast increases
> >>>> required alignment of target type [-Wcast-align]
> >>>>  1116 |   p = (struct vfio_mp_param *)mp_rep->param;
> >>>>       |       ^
> >>>>   CC eal_common_bus.o
> >>>> .../lib/librte_eal/linux/eal_vfio.c: In function
> ‘rte_vfio_get_container_fd’:
> >>>> .../lib/librte_eal/linux/eal_vfio.c:1202:28: warning: cast
> >>>> increases required alignment of target type [-Wcast-align]
> >>>>  1202 |  struct vfio_mp_param *p = (struct vfio_mp_param
> >> *)mp_req.param;
> >>>>       |                            ^
> >>>> .../lib/librte_eal/linux/eal_vfio.c:1248:7: warning: cast increases
> >>>> required alignment of target type [-Wcast-align]
> >>>>  1248 |   p = (struct vfio_mp_param *)mp_rep->param;
> >>>>       |       ^
> >

Reply via email to