diff options
author | Bjorn Helgaas <bhelgaas@google.com> | 2013-04-10 09:56:54 -0600 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2013-04-10 09:56:54 -0600 |
commit | 10629d711ed780470937ecda50d9ffa0e925a4ee (patch) | |
tree | 359e488fdc8478753a76ea034ea2c59826f03e22 /arch/mips/pci | |
parent | f6161aa153581da4a3867a2d1a7caf4be19b6ec9 (diff) |
PCI: Remove __weak annotation from pcibios_get_phb_of_node decl
The __weak annotation on the pcibios_get_phb_of_node() declaration
causes *every* definition to be marked "weak." The linker then
selects one based on link order, which may be the wrong one.
Gabor found that on MIPS, the linker selected the generic implementation
from drivers/pci even though arch/mips supplied a definition without the
__weak annotation:
$ mipsel-openwrt-linux-readelf -s arch/mips/pci/built-in.o \
drivers/pci/built-in.o vmlinux.o | grep pcibios_get_phb_of_node
86: 0000046c 12 FUNC WEAK DEFAULT 2 pcibios_get_phb_of_node
1430: 00012e2c 104 FUNC WEAK DEFAULT 2 pcibios_get_phb_of_node
31898: 0017e4ec 104 FUNC WEAK DEFAULT 2 pcibios_get_phb_of_node
This removes the __weak annotation from the pcibios_get_phb_of_node()
declaration so arch-specific non-weak implementations work reliably.
Suggested-by: Gabor Juhos <juhosg@openwrt.org>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Diffstat (limited to 'arch/mips/pci')
0 files changed, 0 insertions, 0 deletions