-----Original Message----- > Date: Wed, 10 May 2017 03:16:37 -0700 > From: Ashwin Sekhar T K <ashwin.sek...@caviumnetworks.com> > To: tho...@monjalon.net, jerin.ja...@caviumnetworks.com, > maciej.cze...@caviumnetworks.com, vikto...@rehivetech.com, > jianbo....@linaro.org, bruce.richard...@intel.com, > pablo.de.lara.gua...@intel.com, konstantin.anan...@intel.com > Cc: dev@dpdk.org, Ashwin Sekhar T K <ashwin.sek...@caviumnetworks.com> > Subject: [dpdk-dev] [PATCH 0/6] add clang compilation support for armv8a > linuxapp > X-Mailer: git-send-email 2.13.0.rc1 > > 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. > > Patch 3, 4, 5 and 6 are for fixing the compilation errors/warnings.
There is warning on LD with clang. Could you please check it? INSTALL-MAP dpdk-pdump.map LD testpmd /usr/bin/ld: build/lib/librte_eal.a(eal_thread.o)(.debug_info+0x37): R_AARCH64_ABS64 used with TLS symbol per_lcore__lcore_id /usr/bin/ld: build/lib/librte_eal.a(eal_thread.o)(.debug_info+0x54): R_AARCH64_ABS64 used with TLS symbol per_lcore__socket_id /usr/bin/ld: build/lib/librte_eal.a(eal_thread.o)(.debug_info+0x6a): R_AARCH64_ABS64 used with TLS symbol per_lcore__cpuset /usr/bin/ld: build/lib/librte_eal.a(eal_thread.o)(.debug_info+0xd2): R_AARCH64_ABS64 used with TLS symbol rte_gettid.per_lcore__thread_id /usr/bin/ld: build/lib/librte_eal.a(eal_interrupts.o)(.debug_info+0x38e): R_AARCH64_ABS64 used with TLS symbol per_lcore__epfd /usr/bin/ld: build/lib/librte_eal.a(eal_common_errno.o)(.debug_info+0x50): R_AARCH64_ABS64 used with TLS symbol rte_strerror.per_lcore_retval /usr/bin/ld:build/lib/librte_eal.a(eal_common_errno.o)(.debug_info+0x91): R_AARCH64_ABS64 used with TLS symbol per_lcore__rte_errno INSTALL-APP testpmd $ clang -v Ubuntu clang version 3.6.0-2ubuntu1 (tags/RELEASE_360/final) (based on LLVM 3.6.0) Target: aarch64-unknown-linux-gnu Thread model: posix Found candidate GCC installation: /usr/bin/../lib/gcc/aarch64-linux-gnu/4.9 Found candidate GCC installation: /usr/bin/../lib/gcc/aarch64-linux-gnu/4.9.2 Found candidate GCC installation: /usr/bin/../lib/gcc/aarch64-linux-gnu/5.0.1 Found candidate GCC installation: /usr/lib/gcc/aarch64-linux-gnu/4.9 Found candidate GCC installation: /usr/lib/gcc/aarch64-linux-gnu/4.9.2 Found candidate GCC installation: /usr/lib/gcc/aarch64-linux-gnu/5.0.1 Selected GCC installation: /usr/bin/../lib/gcc/aarch64-linux-gnu/4.9 Candidate multilib: .;@m64 Selected multilib: .;@m64 > > 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: fix warning seen with armv8a clang > > config/defconfig_arm64-armv8a-linuxapp-clang | 56 > ++++++++++++++++++++++ > drivers/net/thunderx/base/nicvf_plat.h | 2 +- > lib/librte_acl/Makefile | 5 +- > .../common/include/arch/arm/rte_byteorder.h | 2 +- > lib/librte_eal/linuxapp/eal/Makefile | 4 ++ > lib/librte_hash/Makefile | 2 + > lib/librte_hash/rte_crc_arm64.h | 4 -- > lib/librte_hash/rte_hash_crc.h | 2 +- > 8 files changed, 69 insertions(+), 8 deletions(-) > create mode 100644 config/defconfig_arm64-armv8a-linuxapp-clang > > -- > 2.13.0.rc1 >