[dpdk-dev] [PATCH] eal: fix build

Zhang, Helin helin.zhang at intel.com
Wed Jul 29 17:09:04 CEST 2015



> -----Original Message-----
> From: Gonzalez Monroy, Sergio
> Sent: Wednesday, July 29, 2015 8:06 AM
> To: Zhang, Helin
> Cc: dev at dpdk.org; Thomas Monjalon
> Subject: Re: [dpdk-dev] [PATCH] eal: fix build
> 
> On 29/07/2015 16:00, Zhang, Helin wrote:
> > Hi Thomas
> >
> > It was just an implicit declaration of function, when set
> CONFIG_RTE_PCI_CONFIG=y, as follows. Nobody else cares about it.
> >
> >
> /home/hzhan75/r22/isg_cid-dpdk_org/lib/librte_eal/common/eal_common_pci.
> c: In function �rte_eal_pci_probe_one_driver’:
> >
> /home/hzhan75/r22/isg_cid-dpdk_org/lib/librte_eal/common/eal_common_pci.
> c:188:4: error: implicit declaration of function �pci_config_space_set’
> [-Werror=implicit-function-declaration]
> >      pci_config_space_set(dev);
> >      ^
> >
> /home/hzhan75/r22/isg_cid-dpdk_org/lib/librte_eal/common/eal_common_pc
> > i.c:188:4: error: nested extern declaration of
> > �pci_config_space_set’ [-Werror=nested-externs]
> > cc1: all warnings being treated as errors
> >
> /home/hzhan75/r22/isg_cid-dpdk_org/lib/librte_eal/linuxapp/eal/eal_pci.c:561:
> 1: error: �pci_config_space_set’ defined but not used
> [-Werror=unused-function]
> >   pci_config_space_set(struct rte_pci_device *dev)
> >   ^
> > cc1: all warnings being treated as errors
> >
> > Regards,
> > Helin
> >
> >> -----Original Message-----
> >> From: Thomas Monjalon [mailto:thomas.monjalon at 6wind.com]
> >> Sent: Wednesday, July 29, 2015 1:20 AM
> >> To: Zhang, Helin
> >> Cc: dev at dpdk.org
> >> Subject: Re: [dpdk-dev] [PATCH] eal: fix build
> >>
> >> 2015-07-29 06:48, Helin Zhang:
> >>> It fixes the build error of implicit declaration of function.
> >> What is the error?
> >> Please show the build log and describe the case when it happens
> >> (compiler, version).
> Fixes: 4d4ebca4 ("pci: merge probing and closing functions for linux and
> bsd")
> 
> The function rte_eal_pci_probe_one_driver, which calls pci_config_space_set,
> was moved to eal_common_pci.c, but pci_config_space_set was left in eal_pci.c
> with static specifier.
Yes, that's the root cause.
I am just have a thought that we may need to move all of those three functions
together into eal_common_pci.c, which can avoid exporting that function.

Helin

> 
> Sergio
> 



More information about the dev mailing list