[dpdk-dev] [PATCH 0/6] add clang compilation support for armv8a linuxapp
Sekhar, Ashwin
Ashwin.Sekhar at cavium.com
Thu May 11 16:09:16 CEST 2017
The warning comes only when CFLAGS "-g -ggdb" are given and this seems
to be an issue with clang. I am seeing some related bugs on llvm
mailing list.
https://www.mail-archive.com/llvm-bugs@lists.llvm.org/msg05498.html
http://lists.llvm.org/pipermail/llvm-bugs/2016-July/048288.html
Even a simple c program with a TLS variable creates this warning.
For eg:
----------------- test.c -------------------
__thread int a;
int main() {
return 0;
}
--------------------------------------------
$ gcc -g -ggdb test.c
$ clang -g -ggdb test.c
/usr/bin/ld: /tmp/test-50ceac.o(.debug_info+0x37): R_AARCH64_ABS64
used with TLS symbol a
$
Thanks
Ashwin
On Thu, 2017-05-11 at 11:29 +0530, Jerin Jacob wrote:
> -----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.c
> > om>
> > 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+0x
> 91): 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
> >
More information about the dev
mailing list