-----Original Message-----
> Date: Thu, 11 May 2017 11:07:18 +0530
> From: "Sekhar, Ashwin" <ashwin.sek...@cavium.com>
> To: "Jacob,  Jerin" <jerin.jacobkollanukka...@cavium.com>
> CC: "bruce.richard...@intel.com" <bruce.richard...@intel.com>,
>  "tho...@monjalon.net" <tho...@monjalon.net>,
>  "konstantin.anan...@intel.com" <konstantin.anan...@intel.com>,
>  "pablo.de.lara.gua...@intel.com" <pablo.de.lara.gua...@intel.com>,
>  "Czekaj, Maciej" <maciej.cze...@cavium.com>, "vikto...@rehivetech.com"
>  <vikto...@rehivetech.com>, "dev@dpdk.org" <dev@dpdk.org>,
>  "jianbo....@linaro.org" <jianbo....@linaro.org>
> Subject: Re: [dpdk-dev] [PATCH 2/6] config: add clang support for armv8a
>  linuxapp
> 
> <html><head><meta http-equiv="Content-Type" content="text/html; 
> charset=utf-8">
> <meta name="Generator" content="Microsoft Exchange Server">
> <!-- converted from text -->
> <style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: 
> #800000 2px solid; } --></style></head>
> <body>
> <font size="2"><span style="font-size:10pt;"><div class="PlainText">On Thu, 
> 2017-05-11 at 10:54 &#43;0530, Jerin Jacob wrote:<br>
> &gt; -----Original Message-----<br>
> &gt; &gt; <br>
> &gt; &gt; Date: Wed, 10 May 2017 03:16:39 -0700<br>
> &gt; &gt; From: Ashwin Sekhar T K &lt;ashwin.sek...@caviumnetworks.com&gt;<br>
> &gt; &gt; To: tho...@monjalon.net, jerin.ja...@caviumnetworks.com,<br>
> &gt; &gt; &nbsp;maciej.cze...@caviumnetworks.com, vikto...@rehivetech.com,<br>
> &gt; &gt; &nbsp;jianbo....@linaro.org, bruce.richard...@intel.com,<br>
> &gt; &gt; &nbsp;pablo.de.lara.gua...@intel.com, 
> konstantin.anan...@intel.com<br>
> &gt; &gt; Cc: dev@dpdk.org, Ashwin Sekhar T K 
> &lt;ashwin.sekhar@caviumnetworks.c<br>
> &gt; &gt; om&gt;<br>
> &gt; &gt; Subject: [dpdk-dev] [PATCH 2/6] config: add clang support for<br>
> &gt; &gt; armv8a<br>
> &gt; &gt; &nbsp;linuxapp<br>
> &gt; &gt; X-Mailer: git-send-email 2.13.0.rc1<br>
> &gt; &gt; <br>
> &gt; &gt; Added new config arm64-armv8a-linuxapp-clang<br>
> &gt; &gt; <br>
> &gt; &gt; Signed-off-by: Ashwin Sekhar T K 
> &lt;ashwin.sek...@caviumnetworks.com&gt;<br>
> &gt; &gt; ---<br>
> &gt; &gt; &nbsp;config/defconfig_arm64-armv8a-linuxapp-clang | 56<br>
> &gt; &gt; 
> &#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;<br>
> &gt; &gt; &nbsp;1 file changed, 56 insertions(&#43;)<br>
> &gt; &gt; &nbsp;create mode 100644 
> config/defconfig_arm64-armv8a-linuxapp-clang<br>
> &gt; &gt; <br>
> &gt; &gt; diff --git a/config/defconfig_arm64-armv8a-linuxapp-clang<br>
> &gt; &gt; b/config/defconfig_arm64-armv8a-linuxapp-clang<br>
> &gt; &gt; &#43;#include &quot;common_linuxapp&quot;<br>
> &gt; &gt; &#43;<br>
> &gt; &gt; &#43;CONFIG_RTE_MACHINE=&quot;armv8a&quot;<br>
> &gt; &gt; &#43;<br>
> &gt; &gt; &#43;CONFIG_RTE_ARCH=&quot;arm64&quot;<br>
> &gt; &gt; &#43;CONFIG_RTE_ARCH_ARM64=y<br>
> &gt; &gt; &#43;CONFIG_RTE_ARCH_64=y<br>
> &gt; &gt; &#43;<br>
> &gt; &gt; &#43;CONFIG_RTE_FORCE_INTRINSICS=y<br>
> &gt; &gt; &#43;<br>
> &gt; &gt; &#43;CONFIG_RTE_TOOLCHAIN=&quot;clang&quot;<br>
> &gt; &gt; &#43;CONFIG_RTE_TOOLCHAIN_CLANG=y<br>
> &gt; &gt; &#43;<br>
> &gt; &gt; &#43;# Maximum available cache line size in arm64 
> implementations.<br>
> &gt; &gt; &#43;# Setting to maximum available cache line size in generic 
> config<br>
> &gt; &gt; &#43;# to address minimum DMA alignment across all arm64<br>
> &gt; &gt; implementations.<br>
> &gt; &gt; &#43;CONFIG_RTE_CACHE_LINE_SIZE=128<br>
> &gt; &gt; &#43;<br>
> &gt; &gt; &#43;CONFIG_RTE_EAL_IGB_UIO=n<br>
> &gt; &gt; &#43;<br>
> &gt; &gt; &#43;CONFIG_RTE_LIBRTE_FM10K_PMD=n<br>
> &gt; &gt; &#43;CONFIG_RTE_LIBRTE_SFC_EFX_PMD=n<br>
> &gt; &gt; &#43;CONFIG_RTE_LIBRTE_AVP_PMD=n<br>
> &gt; &gt; &#43;<br>
> &gt; &gt; &#43;CONFIG_RTE_SCHED_VECTOR=n<br>
> &gt; IMO, It is better to create common_armv8 config and let gcc and clang<br>
> &gt; use that to avoid duplicating the symbols.<br>
> &gt; <br>
> For x86, this is the convention that is followed. There are separate<br>
> defconfigs for icc, gcc, clang with symbols duplicated. Do we need to<br>
> deviate from this convention for armv8a?<br>

x86 case it bit different as the delta between common_config and x86 is very 
minimal.

for arm64 case, Following configs needs to be duplicated in both clang and gcc.

CONFIG_RTE_CACHE_LINE_SIZE=128
CONFIG_RTE_EAL_IGB_UIO=n
CONFIG_RTE_LIBRTE_FM10K_PMD=n
CONFIG_RTE_LIBRTE_SFC_EFX_PMD=n
CONFIG_RTE_LIBRTE_AVP_PMD=n
CONFIG_RTE_SCHED_VECTOR=n

That creates mutability issue. Creating a common common_armv8_linuxapp will
fix that issue.

Reply via email to