[v2] acl: fix missing flags when compiling without AVX2
Checks
Commit Message
When compiling the ACL library on a system without AVX2 support,
the flags used to compile the AVX2-specific code for later run-time
use were not based on the regular cflags for the rest of the library.
This can cause errors due to symbols being missed/undefined
due to incorrect flags. For example,
when testing compilation on Alpine linux, we got:
error: unknown type name 'cpu_set_t'
due to _GNU_SOURCE not being defined in the cflags.
This issue can be fixed by appending "-mavx2" to
the cflags rather than replacing them with it.
Fixes: 5b9656b157d3 ("lib: build with meson")
Cc: stable@dpdk.org
Signed-off-by: Andrius Sirvys <andrius.sirvys@intel.com>
---
Cc: bruce.richardson@intel.com
v2: fixed spelling errors in code
---
lib/librte_acl/meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Comments
On Mon, Mar 11, 2019 at 03:18:11PM +0000, Andrius Sirvys wrote:
> When compiling the ACL library on a system without AVX2 support,
> the flags used to compile the AVX2-specific code for later run-time
> use were not based on the regular cflags for the rest of the library.
> This can cause errors due to symbols being missed/undefined
> due to incorrect flags. For example,
> when testing compilation on Alpine linux, we got:
> error: unknown type name 'cpu_set_t'
> due to _GNU_SOURCE not being defined in the cflags.
>
> This issue can be fixed by appending "-mavx2" to
> the cflags rather than replacing them with it.
>
> Fixes: 5b9656b157d3 ("lib: build with meson")
> Cc: stable@dpdk.org
>
> Signed-off-by: Andrius Sirvys <andrius.sirvys@intel.com>
> ---
> Cc: bruce.richardson@intel.com
>
> v2: fixed spelling errors in code
> ---
> lib/librte_acl/meson.build | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/lib/librte_acl/meson.build b/lib/librte_acl/meson.build
> index aec792f..58d346a 100644
> --- a/lib/librte_acl/meson.build
> +++ b/lib/librte_acl/meson.build
> @@ -23,7 +23,7 @@ if arch_subdir == 'x86'
> avx2_tmplib = static_library('avx2_tmp',
> 'acl_run_avx2.c',
> dependencies: static_rte_eal,
> - c_args: '-mavx2')
> + c_args: cflags + ['-mavx2'])
> objs += avx2_tmplib.extract_objects('acl_run_avx2.c')
> cflags += '-DCC_AVX2_SUPPORT'
> endif
Looks to be 2 spaces rather than 1 before the opening "[", but not a big
deal and can be fixed on apply if necessary.
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
11/03/2019 17:31, Bruce Richardson:
> On Mon, Mar 11, 2019 at 03:18:11PM +0000, Andrius Sirvys wrote:
> > When compiling the ACL library on a system without AVX2 support,
> > the flags used to compile the AVX2-specific code for later run-time
> > use were not based on the regular cflags for the rest of the library.
> > This can cause errors due to symbols being missed/undefined
> > due to incorrect flags. For example,
> > when testing compilation on Alpine linux, we got:
> > error: unknown type name 'cpu_set_t'
> > due to _GNU_SOURCE not being defined in the cflags.
> >
> > This issue can be fixed by appending "-mavx2" to
> > the cflags rather than replacing them with it.
> >
> > Fixes: 5b9656b157d3 ("lib: build with meson")
> > Cc: stable@dpdk.org
> >
> > Signed-off-by: Andrius Sirvys <andrius.sirvys@intel.com>
> > ---
> > --- a/lib/librte_acl/meson.build
> > +++ b/lib/librte_acl/meson.build
> > - c_args: '-mavx2')
> > + c_args: cflags + ['-mavx2'])
>
> Looks to be 2 spaces rather than 1 before the opening "[", but not a big
> deal and can be fixed on apply if necessary.
>
> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Applied (without double space), thanks
@@ -23,7 +23,7 @@ if arch_subdir == 'x86'
avx2_tmplib = static_library('avx2_tmp',
'acl_run_avx2.c',
dependencies: static_rte_eal,
- c_args: '-mavx2')
+ c_args: cflags + ['-mavx2'])
objs += avx2_tmplib.extract_objects('acl_run_avx2.c')
cflags += '-DCC_AVX2_SUPPORT'
endif