Commit 41026c34 authored by Al Viro's avatar Al Viro

Kconfig: regularize selection of CONFIG_BINFMT_ELF

with mips converted to use of fs/config_binfmt_elf.c, there's no
need to keep selects of that thing all over arch/* - we can simply
turn into def_bool y if COMPAT && BINFMT_ELF (in fs/Kconfig.binfmt)
and get rid of all selects.

Several architectures got those selects wrong (e.g. you could
end up with sparc64 sans BINFMT_ELF, with select violating
dependencies, etc.)

Randy Dunlap has spotted some of those; IMO this is simpler than
his fix, but it depends upon the stuff that would need to be
backported, so we might end up using his variant for -stable.
Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 0bb87f05
...@@ -1215,7 +1215,6 @@ config ARM64_TAGGED_ADDR_ABI ...@@ -1215,7 +1215,6 @@ config ARM64_TAGGED_ADDR_ABI
menuconfig COMPAT menuconfig COMPAT
bool "Kernel support for 32-bit EL0" bool "Kernel support for 32-bit EL0"
depends on ARM64_4K_PAGES || EXPERT depends on ARM64_4K_PAGES || EXPERT
select COMPAT_BINFMT_ELF if BINFMT_ELF
select HAVE_UID16 select HAVE_UID16
select OLD_SIGSUSPEND3 select OLD_SIGSUSPEND3
select COMPAT_OLD_SIGACTION select COMPAT_OLD_SIGACTION
......
...@@ -3278,7 +3278,6 @@ config MIPS32_O32 ...@@ -3278,7 +3278,6 @@ config MIPS32_O32
select ARCH_WANT_OLD_COMPAT_IPC select ARCH_WANT_OLD_COMPAT_IPC
select COMPAT select COMPAT
select MIPS32_COMPAT select MIPS32_COMPAT
select COMPAT_BINFMT_ELF
select SYSVIPC_COMPAT if SYSVIPC select SYSVIPC_COMPAT if SYSVIPC
help help
Select this option if you want to run o32 binaries. These are pure Select this option if you want to run o32 binaries. These are pure
...@@ -3292,7 +3291,6 @@ config MIPS32_N32 ...@@ -3292,7 +3291,6 @@ config MIPS32_N32
depends on 64BIT depends on 64BIT
select ARCH_WANT_COMPAT_IPC_PARSE_VERSION select ARCH_WANT_COMPAT_IPC_PARSE_VERSION
select COMPAT select COMPAT
select COMPAT_BINFMT_ELF
select MIPS32_COMPAT select MIPS32_COMPAT
select SYSVIPC_COMPAT if SYSVIPC select SYSVIPC_COMPAT if SYSVIPC
help help
......
...@@ -336,7 +336,6 @@ source "kernel/Kconfig.hz" ...@@ -336,7 +336,6 @@ source "kernel/Kconfig.hz"
config COMPAT config COMPAT
def_bool y def_bool y
depends on 64BIT depends on 64BIT
select COMPAT_BINFMT_ELF if BINFMT_ELF
config SYSVIPC_COMPAT config SYSVIPC_COMPAT
def_bool y def_bool y
......
...@@ -282,7 +282,6 @@ config COMPAT ...@@ -282,7 +282,6 @@ config COMPAT
bool "Enable support for 32bit binaries" bool "Enable support for 32bit binaries"
depends on PPC64 depends on PPC64
default y if !CPU_LITTLE_ENDIAN default y if !CPU_LITTLE_ENDIAN
select COMPAT_BINFMT_ELF
select ARCH_WANT_OLD_COMPAT_IPC select ARCH_WANT_OLD_COMPAT_IPC
select COMPAT_OLD_SIGACTION select COMPAT_OLD_SIGACTION
......
...@@ -423,7 +423,6 @@ config 64BIT ...@@ -423,7 +423,6 @@ config 64BIT
config COMPAT config COMPAT
def_bool y def_bool y
prompt "Kernel support for 31 bit emulation" prompt "Kernel support for 31 bit emulation"
select COMPAT_BINFMT_ELF if BINFMT_ELF
select ARCH_WANT_OLD_COMPAT_IPC select ARCH_WANT_OLD_COMPAT_IPC
select COMPAT_OLD_SIGACTION select COMPAT_OLD_SIGACTION
select HAVE_UID16 select HAVE_UID16
......
...@@ -494,7 +494,6 @@ config COMPAT ...@@ -494,7 +494,6 @@ config COMPAT
bool bool
depends on SPARC64 depends on SPARC64
default y default y
select COMPAT_BINFMT_ELF
select HAVE_UID16 select HAVE_UID16
select ARCH_WANT_OLD_COMPAT_IPC select ARCH_WANT_OLD_COMPAT_IPC
select COMPAT_OLD_SIGACTION select COMPAT_OLD_SIGACTION
......
...@@ -2899,7 +2899,6 @@ config COMPAT_32 ...@@ -2899,7 +2899,6 @@ config COMPAT_32
config COMPAT config COMPAT
def_bool y def_bool y
depends on IA32_EMULATION || X86_X32 depends on IA32_EMULATION || X86_X32
select COMPAT_BINFMT_ELF if BINFMT_ELF
if COMPAT if COMPAT
config COMPAT_FOR_U64_ALIGNMENT config COMPAT_FOR_U64_ALIGNMENT
......
...@@ -29,7 +29,7 @@ config BINFMT_ELF ...@@ -29,7 +29,7 @@ config BINFMT_ELF
latest version). latest version).
config COMPAT_BINFMT_ELF config COMPAT_BINFMT_ELF
bool def_bool y
depends on COMPAT && BINFMT_ELF depends on COMPAT && BINFMT_ELF
select ELFCORE select ELFCORE
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment