Re: mmotm 2010-01-28-01-36 uploaded (elfcore/compat_binfmt_elf)

From: Randy Dunlap
Date: Thu Jan 28 2010 - 15:50:45 EST


On Thu, 28 Jan 2010 01:36:55 -0800 akpm@xxxxxxxxxxxxxxxxxxxx wrote:

> The mm-of-the-moment snapshot 2010-01-28-01-36 has been uploaded to
>
> http://userweb.kernel.org/~akpm/mmotm/
>
> and will soon be available at
>
> git://zen-kernel.org/kernel/mmotm.git
>
> It contains the following patches against 2.6.33-rc5:


> elf-coredump-replace-elf_core_extra_-macros-by-functions.patch
> elf-coredump-make-offset-calculation-process-and-writing-process-explicit.patch
> elf-coredump-add-extended-numbering-support.patch


These patches can cause build errors. See arch/x86/Kconfig:

config IA32_EMULATION
bool "IA32 Emulation"
depends on X86_64
select COMPAT_BINFMT_ELF

COMPAT_BINFMT_ELF can be enabled (selected) even when BINFMT_ELF is not
enabled (due to "select" not looking at dependencies).

That causes the kernel/Makefile of elfcore not to be built:

diff -puN arch/ia64/kernel/Makefile~elf-coredump-replace-elf_core_extra_-macros-by-functions arch/ia64/kernel/Makefile
--- a/arch/ia64/kernel/Makefile~elf-coredump-replace-elf_core_extra_-macros-by-functions
+++ a/arch/ia64/kernel/Makefile
@@ -47,6 +47,8 @@ endif
obj-$(CONFIG_DMAR) += pci-dma.o
obj-$(CONFIG_SWIOTLB) += pci-swiotlb.o

+obj-$(CONFIG_BINFMT_ELF) += elfcore.o

since only COMPAT_BINFMT_ELF is enabled but not BINFMT_ELF.

So then the errors are:

fs/built-in.o: In function `elf_core_dump':
compat_binfmt_elf.c:(.text+0x551e8): undefined reference to `elf_core_extra_phdrs'
compat_binfmt_elf.c:(.text+0x55413): undefined reference to `elf_core_extra_data_size'
compat_binfmt_elf.c:(.text+0x556c4): undefined reference to `elf_core_write_extra_phdrs'
compat_binfmt_elf.c:(.text+0x559fd): undefined reference to `elf_core_write_extra_data'



---
~Randy
--
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/