[dpdk-dev] [PATCH 0/6] add clang compilation support for armv8a linuxapp
Jerin Jacob
jerin.jacob at caviumnetworks.com
Thu May 11 07:59:39 CEST 2017
-----Original Message-----
> Date: Wed, 10 May 2017 03:16:37 -0700
> From: Ashwin Sekhar T K <ashwin.sekhar at caviumnetworks.com>
> To: thomas at monjalon.net, jerin.jacob at caviumnetworks.com,
> maciej.czekaj at caviumnetworks.com, viktorin at rehivetech.com,
> jianbo.liu at linaro.org, bruce.richardson at intel.com,
> pablo.de.lara.guarch at intel.com, konstantin.ananyev at intel.com
> Cc: dev at dpdk.org, Ashwin Sekhar T K <ashwin.sekhar at 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
>
More information about the dev
mailing list