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: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
0bb87f051e
commit
41026c3435
@ -1215,7 +1215,6 @@ config ARM64_TAGGED_ADDR_ABI
|
||||
menuconfig COMPAT
|
||||
bool "Kernel support for 32-bit EL0"
|
||||
depends on ARM64_4K_PAGES || EXPERT
|
||||
select COMPAT_BINFMT_ELF if BINFMT_ELF
|
||||
select HAVE_UID16
|
||||
select OLD_SIGSUSPEND3
|
||||
select COMPAT_OLD_SIGACTION
|
||||
|
@ -3278,7 +3278,6 @@ config MIPS32_O32
|
||||
select ARCH_WANT_OLD_COMPAT_IPC
|
||||
select COMPAT
|
||||
select MIPS32_COMPAT
|
||||
select COMPAT_BINFMT_ELF
|
||||
select SYSVIPC_COMPAT if SYSVIPC
|
||||
help
|
||||
Select this option if you want to run o32 binaries. These are pure
|
||||
@ -3292,7 +3291,6 @@ config MIPS32_N32
|
||||
depends on 64BIT
|
||||
select ARCH_WANT_COMPAT_IPC_PARSE_VERSION
|
||||
select COMPAT
|
||||
select COMPAT_BINFMT_ELF
|
||||
select MIPS32_COMPAT
|
||||
select SYSVIPC_COMPAT if SYSVIPC
|
||||
help
|
||||
|
@ -336,7 +336,6 @@ source "kernel/Kconfig.hz"
|
||||
config COMPAT
|
||||
def_bool y
|
||||
depends on 64BIT
|
||||
select COMPAT_BINFMT_ELF if BINFMT_ELF
|
||||
|
||||
config SYSVIPC_COMPAT
|
||||
def_bool y
|
||||
|
@ -282,7 +282,6 @@ config COMPAT
|
||||
bool "Enable support for 32bit binaries"
|
||||
depends on PPC64
|
||||
default y if !CPU_LITTLE_ENDIAN
|
||||
select COMPAT_BINFMT_ELF
|
||||
select ARCH_WANT_OLD_COMPAT_IPC
|
||||
select COMPAT_OLD_SIGACTION
|
||||
|
||||
|
@ -423,7 +423,6 @@ config 64BIT
|
||||
config COMPAT
|
||||
def_bool y
|
||||
prompt "Kernel support for 31 bit emulation"
|
||||
select COMPAT_BINFMT_ELF if BINFMT_ELF
|
||||
select ARCH_WANT_OLD_COMPAT_IPC
|
||||
select COMPAT_OLD_SIGACTION
|
||||
select HAVE_UID16
|
||||
|
@ -494,7 +494,6 @@ config COMPAT
|
||||
bool
|
||||
depends on SPARC64
|
||||
default y
|
||||
select COMPAT_BINFMT_ELF
|
||||
select HAVE_UID16
|
||||
select ARCH_WANT_OLD_COMPAT_IPC
|
||||
select COMPAT_OLD_SIGACTION
|
||||
|
@ -2899,7 +2899,6 @@ config COMPAT_32
|
||||
config COMPAT
|
||||
def_bool y
|
||||
depends on IA32_EMULATION || X86_X32
|
||||
select COMPAT_BINFMT_ELF if BINFMT_ELF
|
||||
|
||||
if COMPAT
|
||||
config COMPAT_FOR_U64_ALIGNMENT
|
||||
|
@ -29,7 +29,7 @@ config BINFMT_ELF
|
||||
latest version).
|
||||
|
||||
config COMPAT_BINFMT_ELF
|
||||
bool
|
||||
def_bool y
|
||||
depends on COMPAT && BINFMT_ELF
|
||||
select ELFCORE
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user