[dpdk-dev] [RFC PATCH v2] config/arm: replace native machine args

Thomas Monjalon thomas at monjalon.net
Tue Feb 2 10:25:04 CET 2021


02/02/2021 10:05, Juraj Linkeš:
> There are compiler issues when building with -mcpu=native with popular
> compilers, such as GCC-8.4:
> In file included from ../lib/librte_eal/arm/include/rte_vect.h:11,
>                  from ../lib/librte_net/net_crc_neon.c:10:
> ../lib/librte_net/net_crc_neon.c: In function ‘crcr32_folding_round’:
> /usr/lib/gcc/aarch64-linux-gnu/8/include/arm_neon.h:26094:1: error:
> inlining failed in call to always_inline ‘vmull_p64’: target
> specific option mismatch
>  vmull_p64 (poly64_t a, poly64_t b)
>  ^~~~~~~~~
> ../lib/librte_net/net_crc_neon.c:50:20: note: called from here
>   uint64x2_t tmp1 = vreinterpretq_u64_p128(vmull_p64(
>                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>     vgetq_lane_p64(vreinterpretq_p64_u64(fold), 0),
>     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>     vgetq_lane_p64(vreinterpretq_p64_u64(precomp), 1)));
>     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 
> and clang:
> gcc -E -dM -mcpu="native" - < /dev/null | grep __ARM_FEATURE_ATOMICS
> clang-9 -E -dM -mcpu="native" - < /dev/null | grep __ARM_FEATURE_ATOMICS
> <no output> # no clang support
> 
> Fix this by always specifying the proper machine args and never using
> the native flags.
> 
> Fixes: 78ac8eac7e8a ("config/arm: use native machine build arguments")
> Cc: juraj.linkes at pantheon.tech
> 
> Signed-off-by: Juraj Linkeš <juraj.linkes at pantheon.tech>

Applied, thanks




More information about the dev mailing list