[dpdk-dev] section mismatch warnings

Neil Horman nhorman at tuxdriver.com
Tue Oct 7 18:46:35 CEST 2014


On Mon, Oct 06, 2014 at 06:42:04PM +0000, Michael Hu (NSBU) wrote:
> Hi Everyone,
> 
> When we enable kernel config CONFIG_DEBUG_SECTION_MISMATCH=y and compile DPDK 1.7 with 3.14.17 kernel + gcc 4.8.2, we got lots of warnings like these.
> Do we have plan to fix them? If so, please advise on which version. Thanks.
> 
Seems erroneous.  These errors come from referencing symbols between
incompatible sections (e.g. A static function reading a variable that is in an
__initdata section).  But theres nothing like that going on in any of these
symbols referenced below (and the kernel version shouldn't matter, as this is
all dpdk internal).  It could be old objects in your build from a DPDK version
where the symbols were in different sections.  Do a make clean; git clean -f -d
Then reconfigure and rebuild.  I expect your issue will go away.

Neil

> 
> 
> == Build lib/librte_eal/linuxapp/kni
> cut: /proc/version_signature: No such file or directory
>   LD      /git/Pktgen-DPDK/dpdk/build/build/lib/librte_eal/linuxapp/igb_uio/built-in.o
>   CC [M]  /git/Pktgen-DPDK/dpdk/build/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.o
>   Building modules, stage 2.
>   MODPOST 1 modules
> WARNING: /git/Pktgen-DPDK/dpdk/build/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.o(.data+0x20): Section mismatch in reference from the variable igbuio_pci_driver to the function .text:igbuio_pci_probe()
> 
> WARNING: /git/Pktgen-DPDK/dpdk/build/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.o(.data+0x28): Section mismatch in reference from the variable igbuio_pci_driver to the function .text:igbuio_pci_remove()
> 
> WARNING: /git/Pktgen-DPDK/dpdk/build/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.o(.data+0x130): Section mismatch in reference from the variable dev_attr_max_vfs to the function .text:show_max_vfs()
> 
> WARNING: /git/Pktgen-DPDK/dpdk/build/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.o(.data+0x138): Section mismatch in reference from the variable dev_attr_max_vfs to the function .text:store_max_vfs()
> 
>   CC      /git/Pktgen-DPDK/dpdk/build/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.mod.o
>   LD [M]  /git/Pktgen-DPDK/dpdk/build/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.ko
> INSTALL-MODULE igb_uio.ko
> 
>   LD      /git/Pktgen-DPDK/dpdk/build/build/lib/librte_eal/linuxapp/kni/built-in.o
>   CC [M]  /git/Pktgen-DPDK/dpdk/build/build/lib/librte_eal/linuxapp/kni/ixgbe_main.o
>   CC [M]  /git/Pktgen-DPDK/dpdk/build/build/lib/librte_eal/linuxapp/kni/ixgbe_api.o
>   CC [M]  /git/Pktgen-DPDK/dpdk/build/build/lib/librte_eal/linuxapp/kni/ixgbe_common.o
>   CC [M]  /git/Pktgen-DPDK/dpdk/build/build/lib/librte_eal/linuxapp/kni/ixgbe_ethtool.o
>   CC [M]  /git/Pktgen-DPDK/dpdk/build/build/lib/librte_eal/linuxapp/kni/ixgbe_82599.o
>   CC [M]  /git/Pktgen-DPDK/dpdk/build/build/lib/librte_eal/linuxapp/kni/ixgbe_82598.o
>   CC [M]  /git/Pktgen-DPDK/dpdk/build/build/lib/librte_eal/linuxapp/kni/ixgbe_x540.o
>   CC [M]  /git/Pktgen-DPDK/dpdk/build/build/lib/librte_eal/linuxapp/kni/ixgbe_phy.o
>   CC [M]  /git/Pktgen-DPDK/dpdk/build/build/lib/librte_eal/linuxapp/kni/kcompat.o
>   CC [M]  /git/Pktgen-DPDK/dpdk/build/build/lib/librte_eal/linuxapp/kni/e1000_82575.o
>   CC [M]  /git/Pktgen-DPDK/dpdk/build/build/lib/librte_eal/linuxapp/kni/e1000_i210.o
>   CC [M]  /git/Pktgen-DPDK/dpdk/build/build/lib/librte_eal/linuxapp/kni/e1000_api.o
>   CC [M]  /git/Pktgen-DPDK/dpdk/build/build/lib/librte_eal/linuxapp/kni/e1000_mac.o
>   CC [M]  /git/Pktgen-DPDK/dpdk/build/build/lib/librte_eal/linuxapp/kni/e1000_manage.o
>   CC [M]  /git/Pktgen-DPDK/dpdk/build/build/lib/librte_eal/linuxapp/kni/e1000_mbx.o
>   CC [M]  /git/Pktgen-DPDK/dpdk/build/build/lib/librte_eal/linuxapp/kni/e1000_nvm.o
>   CC [M]  /git/Pktgen-DPDK/dpdk/build/build/lib/librte_eal/linuxapp/kni/e1000_phy.o
>   CC [M]  /git/Pktgen-DPDK/dpdk/build/build/lib/librte_eal/linuxapp/kni/igb_ethtool.o
>   CC [M]  /git/Pktgen-DPDK/dpdk/build/build/lib/librte_eal/linuxapp/kni/igb_hwmon.o
>   CC [M]  /git/Pktgen-DPDK/dpdk/build/build/lib/librte_eal/linuxapp/kni/igb_main.o
>   CC [M]  /git/Pktgen-DPDK/dpdk/build/build/lib/librte_eal/linuxapp/kni/igb_debugfs.o
>   CC [M]  /git/Pktgen-DPDK/dpdk/build/build/lib/librte_eal/linuxapp/kni/igb_param.o
>   CC [M]  /git/Pktgen-DPDK/dpdk/build/build/lib/librte_eal/linuxapp/kni/igb_procfs.o
>   CC [M]  /git/Pktgen-DPDK/dpdk/build/build/lib/librte_eal/linuxapp/kni/igb_vmdq.o
>   CC [M]  /git/Pktgen-DPDK/dpdk/build/build/lib/librte_eal/linuxapp/kni/kni_misc.o
>   CC [M]  /git/Pktgen-DPDK/dpdk/build/build/lib/librte_eal/linuxapp/kni/kni_net.o
>   CC [M]  /git/Pktgen-DPDK/dpdk/build/build/lib/librte_eal/linuxapp/kni/kni_ethtool.o
>   LD [M]  /git/Pktgen-DPDK/dpdk/build/build/lib/librte_eal/linuxapp/kni/rte_kni.o
> WARNING: /git/Pktgen-DPDK/dpdk/build/build/lib/librte_eal/linuxapp/kni/rte_kni.o(.data+0x20): Section mismatch in reference from the variable ixgbe_ethtool_ops to the function .text:ixgbe_get_settings()
> 
> WARNING: /git/Pktgen-DPDK/dpdk/build/build/lib/librte_eal/linuxapp/kni/rte_kni.o(.data+0x28): Section mismatch in reference from the variable ixgbe_ethtool_ops to the function .text:ixgbe_set_settings()
> 
> WARNING: /git/Pktgen-DPDK/dpdk/build/build/lib/librte_eal/linuxapp/kni/rte_kni.o(.data+0x30): Section mismatch in reference from the variable ixgbe_ethtool_ops to the function .text:ixgbe_get_drvinfo()
> 
> WARNING: /git/Pktgen-DPDK/dpdk/build/build/lib/librte_eal/linuxapp/kni/rte_kni.o(.data+0x38): Section mismatch in reference from the variable ixgbe_ethtool_ops to the function .text:ixgbe_get_regs_len()
> 
> WARNING: /git/Pktgen-DPDK/dpdk/build/build/lib/librte_eal/linuxapp/kni/rte_kni.o(.data+0x40): Section mismatch in reference from the variable ixgbe_ethtool_ops to the function .text:ixgbe_get_regs()
> 
> Thanks,
> Michael
> 
> 
> 


More information about the dev mailing list