[PATCH for master 1/2] MIPS: fix PCI quirk infrastructure build

Antony Pavlov antonynpavlov at gmail.com
Wed Sep 12 14:00:05 PDT 2018


The commit fc2c618c2038 ("pci: add quirk infrastructure")
adds necessary ld-script changes only for ARM architecture.
As a result, qemu-malta build fails:

     LD      barebox
    drivers/built-in.o: In function `pci_fixup_device':
    (.text.pci_fixup_device+0x30): undefined reference to `__end_pci_fixups_enable'
    (.text.pci_fixup_device+0x38): undefined reference to `__end_pci_fixups_enable'
    (.text.pci_fixup_device+0x34): undefined reference to `__start_pci_fixups_enable'
    (.text.pci_fixup_device+0x3c): undefined reference to `__start_pci_fixups_enable'
    (.text.pci_fixup_device+0x70): undefined reference to `__end_pci_fixups_header'
    (.text.pci_fixup_device+0x78): undefined reference to `__end_pci_fixups_header'
    (.text.pci_fixup_device+0x74): undefined reference to `__start_pci_fixups_header'
    (.text.pci_fixup_device+0x80): undefined reference to `__start_pci_fixups_header'
    (.text.pci_fixup_device+0x2c): undefined reference to `__end_pci_fixups_early'
    (.text.pci_fixup_device+0x88): undefined reference to `__end_pci_fixups_early'
    (.text.pci_fixup_device+0x84): undefined reference to `__start_pci_fixups_early'
    (.text.pci_fixup_device+0x90): undefined reference to `__start_pci_fixups_early'
    make: *** [Makefile:767: barebox] Error 1

Signed-off-by: Antony Pavlov <antonynpavlov at gmail.com>
---
 arch/mips/lib/barebox.lds.S | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/arch/mips/lib/barebox.lds.S b/arch/mips/lib/barebox.lds.S
index 660d4be85e..c4026bb7f1 100644
--- a/arch/mips/lib/barebox.lds.S
+++ b/arch/mips/lib/barebox.lds.S
@@ -75,6 +75,17 @@ SECTIONS
 	__usymtab : { BAREBOX_SYMS }
 	__usymtab_end = .;
 
+#ifdef CONFIG_PCI
+	__start_pci_fixups_early = .;
+	.pci_fixup_early : { KEEP(*(.pci_fixup_early)) }
+	__end_pci_fixups_early = .;
+	__start_pci_fixups_header = .;
+	.pci_fixup_header : { KEEP(*(.pci_fixup_header)) }
+	__end_pci_fixups_header = .;
+	__start_pci_fixups_enable = .;
+	.pci_fixup_enable : { KEEP(*(.pci_fixup_enable)) }
+	__end_pci_fixups_enable = .;
+#endif
 	.oftables : { BAREBOX_CLK_TABLE() }
 
 	.dtb : { BAREBOX_DTB() }
-- 
2.18.0




More information about the barebox mailing list