[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