[dpdk-stable] [PATCH] ethdev: missing typecast from void in eth_dev_pci_specific_init

Ferruh Yigit ferruh.yigit at intel.com
Fri Apr 12 19:13:16 CEST 2019


On 4/10/2019 10:14 PM, Thomas Monjalon wrote:
> 10/04/2019 22:58, David Christensen:
>>> This is a duplicate of this patch:
>>>
>>> https://patches.dpdk.org/patch/52505/
>>>
>>> You are from 2 different Linux teams at IBM,
>>> you hit the same issue at the same time,
>>> you both miss to give an explanation,
>>> funny.
>>
>> We both work for infrastructure teams who are supporting a project team 
>> that is developing a DPDK application that runs across multiple CPU 
>> architectures and encountered the error.
>>
>> The error comes from g++ (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0:
>>
>> [CXX]       g++ -o utils/pcap_handle.o -c utils/pcap_handle.cc -g3 
>> -ggdb3 -mcpu=native -mtune=native -isystem 
>> /home/rchirra/gen/io/ppc64include -std=gnu++11 -flax-vector-conversions 
>> -Werror -isystem /home/rchirra/gen/io
>>
>> In file included from drivers/pmd.cc:7:0:
>> /home/rchirra/gen/io/deps/dpdk/build/include/rte_ethdev_pci.h:
>> In function ‘int eth_dev_pci_specific_init(rte_eth_dev*, void*)’:
>> /home/rchirra/gen/io/deps/dpdk/build/include/rte_ethdev_pci.h:75:35: 
>> error: invalid conversion from ‘void*’ to ‘rte_pci_device*’ [-fpermissive]
>>    struct rte_pci_device *pci_dev = bus_device;
>>                                     ^~~~~~~~~~
>> make[1]: *** [drivers/pmd.o] Error 1
>>
>> Do you believe that more permissive compiler flags are the better answer?
> 
> No, we should not force any compiler flag of the application.
> We are even trying to support pedantic flags in the app.
> So it seems we must fix it.
> 
> We just need to change the title to mention it fixes the build for C++,
> and add the error message in the body.
> 

I agree our public headers should be usable from c++ applications, but this
header is not a public header.

Is the DPDK driver compiled with c++ in this case?
If so do we support (or have a target for support) that DPDK library itself can
be compiled by c++ compiler?



More information about the stable mailing list