linux-next: rr/sparc tree build failure

From: Stephen Rothwell
Date: Thu Nov 12 2009 - 03:31:07 EST


Hi Rusty, Dave,

Today's linux-next build (sparc64 defconfig) failed like this:

.tmp_exports-asm.o: In function `__ksymtab_pci_alloc_consistent':
(__ksymtab_sorted+0x6650): undefined reference to `pci_alloc_consistent'
.tmp_exports-asm.o: In function `__ksymtab_pci_dma_supported':
(__ksymtab_sorted+0x6810): undefined reference to `pci_dma_supported'
.tmp_exports-asm.o: In function `__ksymtab_pci_dma_sync_sg_for_cpu':
(__ksymtab_sorted+0x6820): undefined reference to `pci_dma_sync_sg_for_cpu'
.tmp_exports-asm.o: In function `__ksymtab_pci_dma_sync_single_for_cpu':
(__ksymtab_sorted+0x6830): undefined reference to `pci_dma_sync_single_for_cpu'
.tmp_exports-asm.o: In function `__ksymtab_pci_free_consistent':
(__ksymtab_sorted+0x6910): undefined reference to `pci_free_consistent'
.tmp_exports-asm.o: In function `__ksymtab_pci_map_sg':
(__ksymtab_sorted+0x69b0): undefined reference to `pci_map_sg'
.tmp_exports-asm.o: In function `__ksymtab_pci_map_single':
(__ksymtab_sorted+0x69c0): undefined reference to `pci_map_single'
.tmp_exports-asm.o: In function `__ksymtab_pci_unmap_sg':
(__ksymtab_sorted+0x6c40): undefined reference to `pci_unmap_sg'
.tmp_exports-asm.o: In function `__ksymtab_pci_unmap_single':
(__ksymtab_sorted+0x6c50): undefined reference to `pci_unmap_single'

Caused by sparc64 exporting static inline functions. This has interacted
with changes in the rr tree to produce these errors.

I have applied this patch for today:

From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
Date: Thu, 12 Nov 2009 19:26:14 +1100
Subject: [PATCH] sparc64: don't export static inline pci_ functions

Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
---
arch/sparc/kernel/pci.c | 1 -
arch/sparc/kernel/sparc_ksyms_64.c | 12 ------------
2 files changed, 0 insertions(+), 13 deletions(-)

diff --git a/arch/sparc/kernel/pci.c b/arch/sparc/kernel/pci.c
index b85374f..539e83f 100644
--- a/arch/sparc/kernel/pci.c
+++ b/arch/sparc/kernel/pci.c
@@ -1064,7 +1064,6 @@ int pci64_dma_supported(struct pci_dev *pdev, u64 device_mask)

return (device_mask & dma_addr_mask) == dma_addr_mask;
}
-EXPORT_SYMBOL(pci_dma_supported);

void pci_resource_to_user(const struct pci_dev *pdev, int bar,
const struct resource *rp, resource_size_t *start,
diff --git a/arch/sparc/kernel/sparc_ksyms_64.c b/arch/sparc/kernel/sparc_ksyms_64.c
index 0f26066..372ad59 100644
--- a/arch/sparc/kernel/sparc_ksyms_64.c
+++ b/arch/sparc/kernel/sparc_ksyms_64.c
@@ -38,17 +38,5 @@ EXPORT_SYMBOL(sun4v_niagara_setperf);
EXPORT_SYMBOL(sun4v_niagara2_getperf);
EXPORT_SYMBOL(sun4v_niagara2_setperf);

-#ifdef CONFIG_PCI
-/* inline functions in asm/pci_64.h */
-EXPORT_SYMBOL(pci_alloc_consistent);
-EXPORT_SYMBOL(pci_free_consistent);
-EXPORT_SYMBOL(pci_map_single);
-EXPORT_SYMBOL(pci_unmap_single);
-EXPORT_SYMBOL(pci_map_sg);
-EXPORT_SYMBOL(pci_unmap_sg);
-EXPORT_SYMBOL(pci_dma_sync_single_for_cpu);
-EXPORT_SYMBOL(pci_dma_sync_sg_for_cpu);
-#endif
-
/* Exporting a symbol from /init/main.c */
EXPORT_SYMBOL(saved_command_line);
--
1.6.5.2

--
Cheers,
Stephen Rothwell sfr@xxxxxxxxxxxxxxxx
http://www.canb.auug.org.au/~sfr/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/