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. > > > > == 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 > >
Hi Michael, I have been trying to reproduce those warnings without success (kernel 3.14.17, DPDK 1.7.0 and gcc 4.8.3). Regardless, if my understanding of section mismatches is correct, they should be no warnings when referencing to functions in .text section, as it is not a discardable section. Have you tried to reproduce those warnings with different setup? Thanks, Sergio