Jump to content
Калькуляторы

Linux 4.9.17 - unknown symbol pci_dev_driver то ли лыжи не едут...

попробовал собрать ixgbe - получил сабж. в Module.symvers:

 

# grep pci_dev_driver Module.symvers 
0xe2ff5a38	pci_dev_driver	vmlinux	(unknown)

 

при этом - экспортироваться в ядре вроде как должен:

# grep pci_dev_driver pci-driver.c 
* pci_dev_driver - get the pci_driver of a device
struct pci_driver *pci_dev_driver(const struct pci_dev *dev)
EXPORT_SYMBOL(pci_dev_driver);

 

в 4.4 - экспортируется.

 

собссно вопрос: кто-то сталкивался с такой странностью? или это бага компилятора (gcc 5.4.0)/binutils(2.27)?

Share this post


Link to post
Share on other sites

Я бы начал от сборки по очереди от 4.4 до 4.9, ну и когда перестанет собираться, дальше diff, чего там в в pci-driver.c поменялось.

Конфиг брался из 4.4 или новый? Может конфиг ядра такой, что этого pci-driver ни у кого в зависимостях нет? (хотя я даже не представляю, как так может быть)

Share this post


Link to post
Share on other sites

я так подозреваю что не в pci-driver поменялось, а где-то в другом месте. потому как в 4.4.* нет экспортов вида vmlinux (unknown). собиралось тем же тулчейном.

 

а с другой стороны - 4.9.х, собранный другим компилятором и binutils-2.25, тоже не имеет таких вот странных экспортов.

Share this post


Link to post
Share on other sites

нет, таки грабля не в компиляторе. что-то в конфиге.

Share this post


Link to post
Share on other sites

таки оказался включенным CONFIG_TRIM_UNUSED_KSYMS который и делал проблемы.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this