From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ashwin Sekhar T K Subject: [PATCH v3 0/6] Add clang compilation support for armv8a linuxapp Date: Thu, 11 May 2017 22:45:41 -0700 Message-ID: <20170512054547.753-1-ashwin.sekhar@caviumnetworks.com> References: <20170510101643.30556-1-ashwin.sekhar@caviumnetworks.com> Mime-Version: 1.0 Content-Type: text/plain Cc: dev@dpdk.org, Ashwin Sekhar T K To: jerin.jacob@caviumnetworks.com, thomas@monjalon.net, maciej.czekaj@caviumnetworks.com, viktorin@rehivetech.com, jianbo.liu@linaro.org, bruce.richardson@intel.com, pablo.de.lara.guarch@intel.com, konstantin.ananyev@intel.com Return-path: Received: from NAM03-DM3-obe.outbound.protection.outlook.com (mail-dm3nam03on0049.outbound.protection.outlook.com [104.47.41.49]) by dpdk.org (Postfix) with ESMTP id 5D1492BB2 for ; Fri, 12 May 2017 07:46:01 +0200 (CEST) In-Reply-To: <20170510101643.30556-1-ashwin.sekhar@caviumnetworks.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" This series of patches adds the clang compilation support for armv8a linuxapp. Patch 1 adds an rte_pause() to a tight while loop in rte_eal_wait_lcore(). It fixes warning -Wempty-body seen with armv8a clang compilation. Patch 2 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 3, 4, and 5 are for fixing the compilation errors/warnings. Patch 6 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. v3: * Moved [PATCH v2 6/6] to [PATCH v3 1/6] and moved [PATCH v2 2/6] to [PATCH v3 6/6]. 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): eal: pause while busy-waiting for slave hash: compile armv8a CRC32 support conditionally net/thunderx: fix compile errors for armv8a clang acl: fix warning seen with armv8a clang eal/arm: fix warnings seen with armv8a clang config: add clang support for armv8a linuxapp 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