[2/2] net/igc: fix gcc build for optimization level 0
Checks
Commit Message
Gcc build with '-O0' failed for:
../drivers/net/igc/base/igc_api.c
Assembler messages:
29: Error: selected processor does not support `casp x0,x1,x2,x3,[x4]'
82: Error: selected processor does not support `caspa x0,x1,x2,x3,[x4]'
135: Error: selected processor does not support `caspl x0,x1,x2,x3,[x4]'
188: Error: selected processor does not support `caspal x0,x1,x2,x3,[x4]'
This is due to c_args not been passed to meson.
Fixes: 8cb7c57d9b3c ("net/igc: support device initialization")
Cc: alvinx.zhang@intel.com
Reported-by: Feifei Wang <feifei.wang2@arm.com>
Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com>
---
drivers/net/igc/base/meson.build | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
Comments
On Fri, Nov 27, 2020 at 1:40 PM Ruifeng Wang <ruifeng.wang@arm.com> wrote:
>
> Gcc build with '-O0' failed for:
> ../drivers/net/igc/base/igc_api.c
> Assembler messages:
> 29: Error: selected processor does not support `casp x0,x1,x2,x3,[x4]'
> 82: Error: selected processor does not support `caspa x0,x1,x2,x3,[x4]'
> 135: Error: selected processor does not support `caspl x0,x1,x2,x3,[x4]'
> 188: Error: selected processor does not support `caspal x0,x1,x2,x3,[x4]'
>
> This is due to c_args not been passed to meson.
>
> Fixes: 8cb7c57d9b3c ("net/igc: support device initialization")
> Cc: alvinx.zhang@intel.com
>
> Reported-by: Feifei Wang <feifei.wang2@arm.com>
> Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com>
Able to reproduce the issue with meson build -Dbuildtype=debug
--cross-file config/arm/arm64_octeontx2_linux_gcc and
verified the build issue.
Tested-by: Jerin Jacob <jerinj@marvell.com>
> ---
> drivers/net/igc/base/meson.build | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/igc/base/meson.build b/drivers/net/igc/base/meson.build
> index 299985180..690704fe0 100644
> --- a/drivers/net/igc/base/meson.build
> +++ b/drivers/net/igc/base/meson.build
> @@ -13,6 +13,7 @@ sources = [
> ]
>
> base_lib = static_library('igc_base', sources,
> - dependencies: static_rte_eal)
> + dependencies: static_rte_eal,
> + c_args: cflags)
>
> base_objs = base_lib.extract_all_objects()
> --
> 2.20.1
>
On Fri, Nov 27, 2020 at 9:10 AM Ruifeng Wang <ruifeng.wang@arm.com> wrote:
>
> Gcc build with '-O0' failed for:
> ../drivers/net/igc/base/igc_api.c
> Assembler messages:
> 29: Error: selected processor does not support `casp x0,x1,x2,x3,[x4]'
> 82: Error: selected processor does not support `caspa x0,x1,x2,x3,[x4]'
> 135: Error: selected processor does not support `caspl x0,x1,x2,x3,[x4]'
> 188: Error: selected processor does not support `caspal x0,x1,x2,x3,[x4]'
>
> This is due to c_args not been passed to meson.
>
> Fixes: 8cb7c57d9b3c ("net/igc: support device initialization")
> Cc: alvinx.zhang@intel.com
>
> Reported-by: Feifei Wang <feifei.wang2@arm.com>
> Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com>
I did not get to reproduce it yet (get an error on first patch...).
The patch looks fine but I fear some compilation problems since a lot
of base drivers filter cflags.
Still waiting for CI results...
Bruce,Ferruh,
Wdyt?
On Fri, Nov 27, 2020 at 10:02 AM David Marchand
<david.marchand@redhat.com> wrote:
>
> On Fri, Nov 27, 2020 at 9:10 AM Ruifeng Wang <ruifeng.wang@arm.com> wrote:
> >
> > Gcc build with '-O0' failed for:
> > ../drivers/net/igc/base/igc_api.c
> > Assembler messages:
> > 29: Error: selected processor does not support `casp x0,x1,x2,x3,[x4]'
> > 82: Error: selected processor does not support `caspa x0,x1,x2,x3,[x4]'
> > 135: Error: selected processor does not support `caspl x0,x1,x2,x3,[x4]'
> > 188: Error: selected processor does not support `caspal x0,x1,x2,x3,[x4]'
> >
> > This is due to c_args not been passed to meson.
> >
> > Fixes: 8cb7c57d9b3c ("net/igc: support device initialization")
> > Cc: alvinx.zhang@intel.com
> >
> > Reported-by: Feifei Wang <feifei.wang2@arm.com>
> > Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com>
>
> I did not get to reproduce it yet (get an error on first patch...).
>
> The patch looks fine but I fear some compilation problems since a lot
> of base drivers filter cflags.
> Still waiting for CI results...
>
> Bruce,Ferruh,
> Wdyt?
Comparing before/after patch on x86, gcc, static build, the only difference is:
-march=native -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API
-Wno-format-truncation
Which corresponds to drivers/meson.build:
default_cflags = machine_args
default_cflags += ['-DALLOW_EXPERIMENTAL_API']
default_cflags += ['-DALLOW_INTERNAL_API']
if cc.has_argument('-Wno-format-truncation')
default_cflags += '-Wno-format-truncation'
endif
So little risk wrt warning flags.
Still I'd like to hear from Intel, thanks.
> -----Original Message-----
> From: David Marchand <david.marchand@redhat.com>
> Sent: Friday, November 27, 2020 20:14
> To: Richardson, Bruce <bruce.richardson@intel.com>; Yigit, Ferruh <ferruh.yigit@intel.com>
> Cc: Guo, Jia <jia.guo@intel.com>; Wang, Haiyue <haiyue.wang@intel.com>; Zhang, AlvinX
> <alvinx.zhang@intel.com>; dev <dev@dpdk.org>; Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>; nd
> <nd@arm.com>; Ruifeng Wang <ruifeng.wang@arm.com>; Feifei Wang <feifei.wang2@arm.com>
> Subject: Re: [dpdk-dev] [PATCH 2/2] net/igc: fix gcc build for optimization level 0
>
> On Fri, Nov 27, 2020 at 10:02 AM David Marchand
> <david.marchand@redhat.com> wrote:
> >
> > On Fri, Nov 27, 2020 at 9:10 AM Ruifeng Wang <ruifeng.wang@arm.com> wrote:
> > >
> > > Gcc build with '-O0' failed for:
> > > ../drivers/net/igc/base/igc_api.c
> > > Assembler messages:
> > > 29: Error: selected processor does not support `casp x0,x1,x2,x3,[x4]'
> > > 82: Error: selected processor does not support `caspa x0,x1,x2,x3,[x4]'
> > > 135: Error: selected processor does not support `caspl x0,x1,x2,x3,[x4]'
> > > 188: Error: selected processor does not support `caspal x0,x1,x2,x3,[x4]'
> > >
> > > This is due to c_args not been passed to meson.
> > >
> > > Fixes: 8cb7c57d9b3c ("net/igc: support device initialization")
> > > Cc: alvinx.zhang@intel.com
> > >
> > > Reported-by: Feifei Wang <feifei.wang2@arm.com>
> > > Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com>
> >
> > I did not get to reproduce it yet (get an error on first patch...).
> >
> > The patch looks fine but I fear some compilation problems since a lot
> > of base drivers filter cflags.
> > Still waiting for CI results...
> >
> > Bruce,Ferruh,
> > Wdyt?
>
> Comparing before/after patch on x86, gcc, static build, the only difference is:
> -march=native -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API
> -Wno-format-truncation
>
> Which corresponds to drivers/meson.build:
>
> default_cflags = machine_args
> default_cflags += ['-DALLOW_EXPERIMENTAL_API']
> default_cflags += ['-DALLOW_INTERNAL_API']
>
> if cc.has_argument('-Wno-format-truncation')
> default_cflags += '-Wno-format-truncation'
> endif
>
> So little risk wrt warning flags.
> Still I'd like to hear from Intel, thanks.
>
>
LGTM, after reading other Intel PMDs base meson design.
Acked-by: Haiyue Wang <haiyue.wang@intel.com>
> --
> David Marchand
@@ -13,6 +13,7 @@ sources = [
]
base_lib = static_library('igc_base', sources,
- dependencies: static_rte_eal)
+ dependencies: static_rte_eal,
+ c_args: cflags)
base_objs = base_lib.extract_all_objects()