[dpdk-dev] [PATCH v2 0/6] Add clang compilation support for armv8a linuxapp

Ashwin Sekhar T K ashwin.sekhar at caviumnetworks.com
Thu May 11 16:33:10 CEST 2017


This series of patches adds the clang compilation support for armv8a linuxapp.

Patch 1 is basically for removing the usage of assembly directive ".arch armv8-a+crc"
as this is not understood by clang. For removing these directives, compilation of
armv8a crc32 support is made conditional and is only done for machines which has
the crc extensions. Doing this avoids the need for having the ".arch armv8-a+crc"
directives in the code.

Patch 2 adds the arm64-armv8a-linuxapp-clang defconfig. It also moves all the common
defines to common_armv8a_config. Now defconfigs arm64-armv8a-linuxapp-gcc/clang contain
only the defines related to toolchain.

Patch 3, 4, and 5 are for fixing the compilation errors/warnings.

Patch 6 adds an rte_pause() to a tight while loops in rte_eal_wait_lcore().
It fixes warning -Wempty-body seen with armv8a clang compilation.

v2:
 * Moved common defines from arm64-armv8a-linuxapp-gcc to common_armv8a_config
 * Removed the -Wno-empty-body flag from eal Makefile. Added rte_pause() to the
   while loop causing this warning.

Ashwin Sekhar T K (6):
  hash: compile armv8a CRC32 support conditionally
  config: add clang support for armv8a linuxapp
  net/thunderx: fix compile errors for armv8a clang
  acl: fix warning seen with armv8a clang
  eal/arm: fix warnings seen with armv8a clang
  eal: pause while busy-waiting for slave

 config/common_armv8a_linuxapp                      | 53 ++++++++++++++++++++++
 config/defconfig_arm64-armv8a-linuxapp-clang       | 35 ++++++++++++++
 config/defconfig_arm64-armv8a-linuxapp-gcc         | 23 +---------
 drivers/net/thunderx/base/nicvf_plat.h             |  2 +-
 lib/librte_acl/Makefile                            |  5 +-
 lib/librte_eal/common/eal_common_launch.c          |  3 +-
 .../common/include/arch/arm/rte_byteorder.h        |  2 +-
 lib/librte_hash/Makefile                           |  2 +
 lib/librte_hash/rte_crc_arm64.h                    |  4 --
 lib/librte_hash/rte_hash_crc.h                     |  2 +-
 10 files changed, 100 insertions(+), 31 deletions(-)
 create mode 100644 config/common_armv8a_linuxapp
 create mode 100644 config/defconfig_arm64-armv8a-linuxapp-clang

-- 
2.12.2



More information about the dev mailing list