build: set -mfpu=neon flag for armv7a builds

Message ID 20181115165418.25195-1-bluca@debian.org (mailing list archive)
State Accepted, archived
Delegated to: Thomas Monjalon
Headers
Series build: set -mfpu=neon flag for armv7a builds |

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

Luca Boccassi Nov. 15, 2018, 4:54 p.m. UTC
  Building on armv7a with meson currenctly fails:

/usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:10369:1: error:
    inlining failed in call to always_inline ‘vld1q_s32’: target
    specific option mismatch

Set -mfpu=neon on that architecture like the legacy makefiles do to fix
the issue.

Fixes: b1d48c41189a ("build: support ARM with meson")
Cc: stable@dpdk.org

Signed-off-by: Luca Boccassi <bluca@debian.org>
---
 config/arm/meson.build | 3 +++
 1 file changed, 3 insertions(+)
  

Comments

Christian Ehrhardt Nov. 15, 2018, 7:29 p.m. UTC | #1
On Thu, Nov 15, 2018 at 5:54 PM Luca Boccassi <bluca@debian.org> wrote:
>
> Building on armv7a with meson currenctly fails:
>
> /usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:10369:1: error:
>     inlining failed in call to always_inline ‘vld1q_s32’: target
>     specific option mismatch
>
> Set -mfpu=neon on that architecture like the legacy makefiles do to fix
> the issue.
>
> Fixes: b1d48c41189a ("build: support ARM with meson")
> Cc: stable@dpdk.org
>
> Signed-off-by: Luca Boccassi <bluca@debian.org>

Acked-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>

> ---
>  config/arm/meson.build | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/config/arm/meson.build b/config/arm/meson.build
> index 4b23b3954..b75513855 100644
> --- a/config/arm/meson.build
> +++ b/config/arm/meson.build
> @@ -89,6 +89,9 @@ if cc.sizeof('void *') != 8
>         dpdk_conf.set('RTE_CACHE_LINE_SIZE', 64)
>         dpdk_conf.set('RTE_ARCH_ARM', 1)
>         dpdk_conf.set('RTE_ARCH_ARMv7', 1)
> +       # the minimum architecture supported, armv7-a, needs the following,
> +       # mk/machine/armv7a/rte.vars.mk sets it too
> +       machine_args += '-mfpu=neon'
>  else
>         dpdk_conf.set('RTE_CACHE_LINE_SIZE', 128)
>         dpdk_conf.set('RTE_ARCH_ARM64', 1)
> --
> 2.19.1
>
  
Thomas Monjalon Nov. 18, 2018, 2:32 p.m. UTC | #2
15/11/2018 20:29, Christian Ehrhardt:
> On Thu, Nov 15, 2018 at 5:54 PM Luca Boccassi <bluca@debian.org> wrote:
> >
> > Building on armv7a with meson currenctly fails:
> >
> > /usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:10369:1: error:
> >     inlining failed in call to always_inline ‘vld1q_s32’: target
> >     specific option mismatch
> >
> > Set -mfpu=neon on that architecture like the legacy makefiles do to fix
> > the issue.
> >
> > Fixes: b1d48c41189a ("build: support ARM with meson")
> > Cc: stable@dpdk.org
> >
> > Signed-off-by: Luca Boccassi <bluca@debian.org>
> 
> Acked-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>

Applied, thanks
  

Patch

diff --git a/config/arm/meson.build b/config/arm/meson.build
index 4b23b3954..b75513855 100644
--- a/config/arm/meson.build
+++ b/config/arm/meson.build
@@ -89,6 +89,9 @@  if cc.sizeof('void *') != 8
 	dpdk_conf.set('RTE_CACHE_LINE_SIZE', 64)
 	dpdk_conf.set('RTE_ARCH_ARM', 1)
 	dpdk_conf.set('RTE_ARCH_ARMv7', 1)
+	# the minimum architecture supported, armv7-a, needs the following,
+	# mk/machine/armv7a/rte.vars.mk sets it too
+	machine_args += '-mfpu=neon'
 else
 	dpdk_conf.set('RTE_CACHE_LINE_SIZE', 128)
 	dpdk_conf.set('RTE_ARCH_ARM64', 1)