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.

> 
>>
>>>
>>>>
>>>> [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