[patch] x86 compat_binfmt_elf, Makefile fixes (was: Re:2.6.24-rc6-mm1)

From: Ingo Molnar
Date: Wed Jan 02 2008 - 15:06:33 EST



* Rafael J. Wysocki <rjw@xxxxxxx> wrote:

> > Try to delete your fs/ directory in your output dir. Then I expect
> > the same bug to surface again.
>
> It does surface indeed.

could you try the patch from Sam below - does it fix the problem?
Thanks,

Ingo

---------->
Subject: x86 compat_binfmt_elf, Makefile fixes
From: Sam Ravnborg <sam@xxxxxxxxxxxx>

fix the build rules of compat-binfmt_elf.

Signed-off-by: Ingo Molnar <mingo@xxxxxxx>
---
arch/x86/Kconfig | 1 +
arch/x86/ia32/Makefile | 5 ++---
fs/Kconfig.binfmt | 10 ++++++++++
fs/Makefile | 1 +
4 files changed, 14 insertions(+), 3 deletions(-)

Index: linux-x86.q/arch/x86/Kconfig
===================================================================
--- linux-x86.q.orig/arch/x86/Kconfig
+++ linux-x86.q/arch/x86/Kconfig
@@ -1546,6 +1546,7 @@ source "fs/Kconfig.binfmt"
config IA32_EMULATION
bool "IA32 Emulation"
depends on X86_64
+ select HAVE_COMPAT_BINFMT_ELF
help
Include code to run 32-bit programs under a 64-bit kernel. You should
likely turn this on, unless you're 100% sure that you don't have any
Index: linux-x86.q/arch/x86/ia32/Makefile
===================================================================
--- linux-x86.q.orig/arch/x86/ia32/Makefile
+++ linux-x86.q/arch/x86/ia32/Makefile
@@ -2,7 +2,8 @@
# Makefile for the ia32 kernel emulation subsystem.
#

-obj-$(CONFIG_IA32_EMULATION) := ia32entry.o sys_ia32.o ia32_signal.o
+obj-$(CONFIG_IA32_EMULATION) := ia32entry.o sys_ia32.o ia32_signal.o \
+ ia32_binfmt.o

sysv-$(CONFIG_SYSVIPC) := ipc32.o
obj-$(CONFIG_IA32_EMULATION) += $(sysv-y)
@@ -11,5 +12,3 @@ obj-$(CONFIG_IA32_AOUT) += ia32_aout.o

audit-class-$(CONFIG_AUDIT) := audit.o
obj-$(CONFIG_IA32_EMULATION) += $(audit-class-y)
-
-obj-$(CONFIG_IA32_EMULATION) += ../../../fs/compat_binfmt_elf.o
Index: linux-x86.q/fs/Kconfig.binfmt
===================================================================
--- linux-x86.q.orig/fs/Kconfig.binfmt
+++ linux-x86.q/fs/Kconfig.binfmt
@@ -23,6 +23,16 @@ config BINFMT_ELF
ld.so (check the file <file:Documentation/Changes> for location and
latest version).

+# Archs supporting compatibility binfmt_elf shall select HAVE_COMPAT_BINFMT_ELF
+config HAVE_COMPAT_BINFMT_ELF
+
+config COMPAT_BINFMT_ELF
+ bool "Bla"
+ depends on HAVE_COMPAT_BINFMT_ELF
+ depends on MMU
+ help
+ Bla
+
config BINFMT_ELF_FDPIC
bool "Kernel support for FDPIC ELF binaries"
default y
Index: linux-x86.q/fs/Makefile
===================================================================
--- linux-x86.q.orig/fs/Makefile
+++ linux-x86.q/fs/Makefile
@@ -42,6 +42,7 @@ obj-$(CONFIG_BINFMT_ELF) += binfmt_elf.o
obj-$(CONFIG_BINFMT_ELF_FDPIC) += binfmt_elf_fdpic.o
obj-$(CONFIG_BINFMT_SOM) += binfmt_som.o
obj-$(CONFIG_BINFMT_FLAT) += binfmt_flat.o
+obj-$(CONFIG_COMPAT_BINFMT_ELF) += compat_binfmt_elf.o

obj-$(CONFIG_FS_MBCACHE) += mbcache.o
obj-$(CONFIG_FS_POSIX_ACL) += posix_acl.o xattr_acl.o
--
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/