On 6/28/2019 7:14 AM, Jerin Jacob Kollanukkaran wrote: > > >> -----Original Message----- >> From: dev <dev-boun...@dpdk.org> On Behalf Of Jerin Jacob Kollanukkaran >> Sent: Thursday, June 27, 2019 1:45 PM >> To: Ferruh Yigit <ferruh.yi...@intel.com> >> Cc: dev@dpdk.org; Thomas Monjalon <tho...@monjalon.net>; Amit Gupta >> <agup...@marvell.com> >> Subject: Re: [dpdk-dev] [PATCH v4 00/27] OCTEON TX2 common and >> mempool driver >>> >>> Hi Jerin, >>> >>> There are some build errors with ICC, there are multiple but mainly >>> two type of them [1a] & [1b]. >>> >>> I think [1b] can be fixed quickly [2b] and what do you think about >>> ignoring the warning for [1a] as done in [2a]? >>> >>> If fix makes sense, can you please send a patch for it? >> >> Will install ICC and send the patches(excluding >> http://mails.dpdk.org/archives/dev/2019-June/135950.html) > > Not able to reproduce the issue with latest ICC compiler. > $ icc -v > > icc version 19.0.4.235 (gcc version 8.3.1 compatibility) > > If you think, it can happen with old ICC compiler. Then we will send a patch > with > CFLAGS += -diag-disable 2259 for ICC.
We use almost same version, icc (ICC) 19.0.4.227 20190416, build error is from 32-bits [1] [1] Building i686-native-linuxapp-icc ... In file included from .../dpdk/drivers/common/octeontx2/otx2_dev.h(13), from .../dpdk/drivers/common/octeontx2/otx2_common.c(10): .../dpdk/drivers/mempool/octeontx2/otx2_mempool.h(94): error #2259: non-pointer conversion from "unsigned long long" to "int64_t={__int64_t={signed long long}} *" may lose significant bits (int64_t *)(npa_lf_aura_handle_to_base(aura_handle) + ^ In file included from .../dpdk/drivers/common/octeontx2/otx2_dev.h(13), from .../dpdk/drivers/common/octeontx2/otx2_common.c(10): .../dpdk/drivers/mempool/octeontx2/otx2_mempool.h(106): error #2259: non-pointer conversion from "unsigned long long" to "void *" may lose significant bits otx2_store_pair(iova, reg, ^ In file included from .../dpdk/drivers/common/octeontx2/otx2_dev.h(13), from .../dpdk/drivers/common/octeontx2/otx2_common.c(10): .../dpdk/drivers/mempool/octeontx2/otx2_mempool.h(106): error #2259: non-pointer conversion from "unsigned long long" to "uint8_t={__uint8_t={unsigned char}} *" may lose significant bits otx2_store_pair(iova, reg, ^ In file included from .../dpdk/drivers/common/octeontx2/otx2_dev.h(13), from .../dpdk/drivers/common/octeontx2/otx2_common.c(10): .../dpdk/drivers/mempool/octeontx2/otx2_mempool.h(119): error #2259: non-pointer conversion from "unsigned long long" to "int64_t={__int64_t={signed long long}} *" may lose significant bits (int64_t *)(npa_lf_aura_handle_to_base(aura_handle) + ^ In file included from .../dpdk/drivers/common/octeontx2/otx2_dev.h(13), from .../dpdk/drivers/common/octeontx2/otx2_common.c(10): .../dpdk/drivers/mempool/octeontx2/otx2_mempool.h(138): error #2259: non-pointer conversion from "unsigned long long" to "void *" may lose significant bits otx2_write64(reg, ^ In file included from .../dpdk/drivers/common/octeontx2/otx2_dev.h(13), from .../dpdk/drivers/common/octeontx2/otx2_common.c(10): .../dpdk/drivers/mempool/octeontx2/otx2_mempool.h(151): error #2259: non-pointer conversion from "unsigned long long" to "int64_t={__int64_t={signed long long}} *" may lose significant bits (int64_t *)(npa_lf_aura_handle_to_base(aura_handle) + ^ In file included from .../dpdk/drivers/common/octeontx2/otx2_dev.h(13), from .../dpdk/drivers/common/octeontx2/otx2_common.c(10): .../dpdk/drivers/mempool/octeontx2/otx2_mempool.h(167): error #2259: non-pointer conversion from "unsigned long long" to "void *" may lose significant bits otx2_write64(reg, ^ In file included from .../dpdk/drivers/common/octeontx2/otx2_dev.h(13), from .../dpdk/drivers/common/octeontx2/otx2_common.c(10): .../dpdk/drivers/mempool/octeontx2/otx2_mempool.h(180): error #2259: non-pointer conversion from "unsigned long long" to "int64_t={__int64_t={signed long long}} *" may lose significant bits (int64_t *)(npa_lf_aura_handle_to_base( ^ It goes on with same kind of error > > Let us know > >> >> >>> >>> Thanks, >>> ferruh >>> >>> >>> >>> [1a] error #2259 >>> .../dpdk/drivers/common/octeontx2/otx2_mbox.c(47): error #2259: non- >>> pointer conversion from "unsigned long long" to "struct mbox_hdr *" >>> may lose significant bits >>> (struct mbox_hdr *)((uintptr_t)mdev->mbase + >>> mbox->tx_start); >>> ^ >>> >>> >> /tmp/dpdk_maintain/self/dpdk/drivers/mempool/octeontx2/otx2_mempo >> ol.h( >>> 9 >>> 4): error >>> #2259: non-pointer conversion from "unsigned long long" to >>> "int64_t={__int64_t={signed long long}} *" may lose significant bits >>> >>> >>> (int64_t *)(npa_lf_aura_handle_to_base(aura_handle) + >>> >>> >>> >>> ^ >>> >>> [1b] error #191 >>> .../dpdk/drivers/mempool/octeontx2/otx2_mempool_ops.c(344): error >> #191: >>> type qualifier is meaningless on cast type >>> int64_t * const addr = (int64_t * const) >>> ^ >>> >>> >>> [2a] >>> diff --git a/drivers/common/octeontx2/Makefile >>> b/drivers/common/octeontx2/Makefile >>> index fabc32537..b78995e12 100644 >>> --- a/drivers/common/octeontx2/Makefile >>> +++ b/drivers/common/octeontx2/Makefile >>> @@ -19,6 +19,10 @@ CFLAGS += -Wno-int-to-pointer-cast >>> CFLAGS += -Wno-pointer-to-int-cast >>> endif >>> >>> +ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y) +CFLAGS += -diag-disable 2259 >>> # non-pointer conversion may lose significant bits +endif + >>> EXPORT_MAP := rte_common_octeontx2_version.map >>> >>> LIBABIVER := 1 >>> diff --git a/drivers/mempool/octeontx2/Makefile >>> b/drivers/mempool/octeontx2 /Makefile index b3568443e..37bcebdf3 >>> 100644 >>> --- a/drivers/mempool/octeontx2/Makefile >>> +++ b/drivers/mempool/octeontx2/Makefile >>> @@ -20,6 +20,10 @@ CFLAGS += -Wno-int-to-pointer-cast >>> CFLAGS += -Wno-pointer-to-int-cast >>> endif >>> >>> +ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y) +CFLAGS += -diag-disable 2259 >>> # non-pointer conversion may lose significant bits +endif + >>> EXPORT_MAP := rte_mempool_octeontx2_version.map >>> >>> LIBABIVER := 1 >>> >>> >>> [2b] >>> - int64_t * const addr = (int64_t * const) >>> + int64_t * const addr = (int64_t *)