Re: 2.6.13-mm2

From: Andrew Morton
Date: Fri Sep 09 2005 - 05:42:41 EST


Andi Kleen <ak@xxxxxxx> wrote:
>
> > arch/x86_64/pci/built-in.o(.init.text+0xa88): In function `pci_acpi_scan_root':
> > : undefined reference to `pxm_to_node'
> > make: *** [.tmp_vmlinux1] Error 1
> > 09/08/05-06:52:31 Build the kernel. Failed rc = 2
> > 09/08/05-06:52:31 build: kernel build Failed rc = 1
> > 09/08/05-06:52:31 command complete: (2) rc=126
> > Failed and terminated the run
>
> I tried the config in my (non mm) tree and it compiled just fine.

You must have mucked it up.

> Must be some bad interaction with another patch in -mm* or a bad
> merge.

Nope.

> The original patch that introduces it is
> ftp://ftp.firstfloor.org/pub/ak/x86_64/x86_64-2.6.13-1/patches/pci-pxm
>
> pxm_to_node for x86-64 is supposed to be declared in arch/x86_64/mm/srat.c

pxm_to_node is *defined* in arch/x86_64/mm/srat.c, which is enabled by
CONFIG_ACPI_NUMA.

pxm_to_node is declared in include/asm-x86_64/numa.h

pxm_to_node is referenced in arch/i386/pci/acpi.c, under CONFIG_NUMA.

Consequently CONFIG_ACPI_NUMA=n, CONFIG_NUMA=y will fail to link.

Also x86 compilation of arch/i386/pci/acpi.c with CONFIG_NUMA=y will
generate an `implicit declaration of function' warning and will fail to
link.



Also, x86_64-srat-overlap-error.patch adds this forward decl in
arch/x86_64/mm/srat.c:

int node_to_pxm(int n);

Please, either give it static scope or, if it really needs global scope (it
doesn't), put the declaration in the right place?
-
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/