[dpdk-dev] [PATCH v4 00/27] OCTEON TX2 common and mempool driver

Ferruh Yigit ferruh.yigit at intel.com
Fri Jun 28 10:08:01 CEST 2019


On 6/28/2019 7:14 AM, Jerin Jacob Kollanukkaran wrote:
> 
> 
>> -----Original Message-----
>> From: dev <dev-bounces at dpdk.org> On Behalf Of Jerin Jacob Kollanukkaran
>> Sent: Thursday, June 27, 2019 1:45 PM
>> To: Ferruh Yigit <ferruh.yigit at intel.com>
>> Cc: dev at dpdk.org; Thomas Monjalon <thomas at monjalon.net>; Amit Gupta
>> <agupta3 at 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 *)



More information about the dev mailing list