Hi Damjan,
The patch[2] installs clang-9 in package dependencies and sets “clang-10 
clang-9 gcc-9 cc” as the default compiler.

The problem is,
1. clang-9 does not support ‘-mtune=qdf24xx’, ‘-mtune=neoverse-n1’, 
‘-mcpu=neoverse-n1’, so it cannot do arch-specific compiling and optimal 
function selection for those two CPUs.
These options requires gcc-9.2, clang-10 and any newer versions.

2. The clang package servers for Ubuntu-18.04 mentioned in 
https://apt.llvm.org/ support x86, but does not support Arm64, so we cannot 
install clang-10/clang-11 directly via apt commands on Arm servers.

I’m thinking two options,
1. remove clang-9 dependency in Makefile or add for x86_64 only, so that users 
should install clang-10/clang-9 for x86 manually, and for Arm, install gcc-9 
and clang-10/clang-11(not available yet). Just like CSIT has to update gcc 
version to gcc-8.3 manually(gcc-8.3 not listed in dependencies) previously.
2. there are other several workaround,
              2.1 install clang-10 from source code until we can do clang-10 
binary install on Ubuntu-18.04 on Arm;
              2.2 keep the code as it is now, although it will disable 
multi-arch support for these two CPUs with clang-9;
              2.3 when we are developing code or doing benchmarking, we need to 
hack the code temporarily from “set(CMAKE_C_COMPILER_NAMES clang-10 clang-9 
gcc-9 cc)” to “set(CMAKE_C_COMPILER_NAMES clang-10 gcc-9 cc)”, so that 
multi-arch will be supported with gcc-9.

Could you suggest on this issue?
Thanks.
From: vpp-dev@lists.fd.io <vpp-dev@lists.fd.io> On Behalf Of Damjan Marion via 
lists.fd.io
Sent: 2020年4月28日 22:14
To: vpp-dev <vpp-dev@lists.fd.io>
Subject: [vpp-dev] clang-9


Folks,

As there is bug in gnu assembler which is shipping with ubuntu 18.04 we are not 
able to produce working binaries with avx512 instruction set.
Because of that, I had to change default to avx2. reported bug[1], but it is 
ignored for a year.

As alternative[2], I wanted to consider using clang-9 which is shipped with 
ubuntu 18.04 and seems like it is even capable of producing faster binaries 
than gcc.
Unfortunately, "make test" is failing at several places including vxlan, ipsec 
and tcp stack[3].

May I ask folks who “own” that code to take a quick look?

Thanks,

Damjan

[1] https://bugs.launchpad.net/ubuntu/cosmic/+source/binutils/+bug/1819961
[2] https://gerrit.fd.io/r/c/vpp/+/26744
[3] https://jenkins.fd.io/job/vpp-verify-master-ubuntu1804/3615/console



-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#16289): https://lists.fd.io/g/vpp-dev/message/16289
Mute This Topic: https://lists.fd.io/mt/73327785/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to