aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPali Rohár <pali@kernel.org>2022-05-08 10:52:35 +0200
committerPali Rohár <pali@kernel.org>2022-10-30 16:00:36 +0100
commit26a64f917656453051d200cc7bf87710a0bfcef7 (patch)
treeace5a45c56d3e6d02fb03ff73d340bceb0d00d2b
parent32934d5b6a5b2e0883aee817e08704d756ccee28 (diff)
downloadpciutils-26a64f917656453051d200cc7bf87710a0bfcef7.tar.gz
libpci: Do not call unversioned symbols from libpci itself
Windows version of GNU LD has bugs which cause that linker would translate this unknown unversioned symbols to some random version. So change pci_fill_info() to pci_fill_info_v38() in lib/filter.c to ensure that last version of this function would be used also by Windows version of GNU LD linker. Before this change GNU LD translated this function call to symbol _pci_fill_info@LIBPCI_3.0. After this change GNU LD translate it to _pci_fill_info@LIBPCI_3.8.
-rw-r--r--lib/filter.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/filter.c b/lib/filter.c
index b881b6b..2abb631 100644
--- a/lib/filter.c
+++ b/lib/filter.c
@@ -204,13 +204,13 @@ pci_filter_match_v38(struct pci_filter *f, struct pci_dev *d)
}
if (f->device_class >= 0)
{
- pci_fill_info(d, PCI_FILL_CLASS);
+ pci_fill_info_v38(d, PCI_FILL_CLASS);
if ((f->device_class ^ d->device_class) & f->device_class_mask)
return 0;
}
if (f->prog_if >= 0)
{
- pci_fill_info(d, PCI_FILL_CLASS_EXT);
+ pci_fill_info_v38(d, PCI_FILL_CLASS_EXT);
if (f->prog_if != d->prog_if)
return 0;
}