[v2] acl: fix missing flags when compiling without AVX2

Message ID 1552317491-161841-1-git-send-email-andrius.sirvys@intel.com (mailing list archive)
State Accepted, archived
Delegated to: Thomas Monjalon
Headers
Series [v2] acl: fix missing flags when compiling without AVX2 |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK
ci/mellanox-Performance-Testing success Performance Testing PASS
ci/intel-Performance-Testing success Performance Testing PASS

Commit Message

Andrius Sirvys March 11, 2019, 3:18 p.m. UTC
  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

Bruce Richardson March 11, 2019, 4:31 p.m. UTC | #1
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>
  
Thomas Monjalon March 27, 2019, 9:39 a.m. UTC | #2
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
  

Patch

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