5aa9189d74
If the target machine has SVE feature (e.g. "-march=armv8.2-a+sve'),
and the compiler is gcc-8.3, it will produce this error:
In file included from lib/eal/common/eal_common_options.c:38:
lib/eal/arm/include/rte_vect.h:13:10: fatal error:
arm_sve.h: No such file or directory
#include <arm_sve.h>
^~~~~~~~~~~
The root cause is that gcc-8.3 supports SVE (the macro
__ARM_FEATURE_SVE was 1), but it doesn't support SVE ACLE [1].
The solution:
a) Detect compiler whether support SVE ACLE, if support then define
RTE_HAS_SVE_ACLE macro.
b) Use the RTE_HAS_SVE_ACLE macro to include SVE header file.
[1] ACLE: Arm C Language Extensions, the SVE ACLE header file is
<arm_sve.h>, user should include it when writing ACLE SVE code.
Fixes:
|
||
---|---|---|
.. | ||
arm32_armv8_linux_gcc | ||
arm64_armada_linux_gcc | ||
arm64_armv8_linux_clang_ubuntu1804 | ||
arm64_armv8_linux_gcc | ||
arm64_bluefield_linux_gcc | ||
arm64_centriq2400_linux_gcc | ||
arm64_cn10k_linux_gcc | ||
arm64_dpaa_linux_gcc | ||
arm64_emag_linux_gcc | ||
arm64_graviton2_linux_gcc | ||
arm64_kunpeng920_linux_gcc | ||
arm64_kunpeng930_linux_gcc | ||
arm64_n1sdp_linux_gcc | ||
arm64_n2_linux_gcc | ||
arm64_octeontx2_linux_gcc | ||
arm64_stingray_linux_gcc | ||
arm64_thunderx2_linux_gcc | ||
arm64_thunderxt88_linux_gcc | ||
armv8_machine.py | ||
meson.build |