Commit 22d5501e authored by Guido Martínez's avatar Guido Martínez Committed by Thomas Petazzoni
Browse files

arch: tidy up binary formats config



Instead of (black)listing architectures when deciding the binary format,
we can enable the ELF format only when using an MMU and FLAT only when
we're not. This mimics the logic in the Linux kernel for user binaries
support.

For FDPIC, we introduce a Kconfig option to enable its selection, and
have blackfin select it.

Signed-off-by: default avatarGuido Martínez <guido@vanguardiasur.com.ar>
Reviewed-by: default avatarArnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
parent 29563047
Loading
Loading
Loading
Loading
+10 −6
Original line number Diff line number Diff line
@@ -15,6 +15,9 @@ config BR2_ARCH_HAS_MMU_MANDATORY
config BR2_ARCH_HAS_MMU_OPTIONAL
	bool

config BR2_ARCH_HAS_FDPIC_SUPPORT
	bool

choice
	prompt "Target Architecture"
	default BR2_i386
@@ -66,6 +69,7 @@ config BR2_aarch64

config BR2_bfin
	bool "Blackfin"
	select BR2_ARCH_HAS_FDPIC_SUPPORT
	help
	  The Blackfin is a family of 16 or 32-bit microprocessors developed,
	  manufactured and marketed by Analog Devices.
@@ -272,13 +276,13 @@ config BR2_BINFMT_SUPPORTS_SHARED
# Set up target binary format
choice
	prompt "Target Binary Format"
	default BR2_BINFMT_ELF if !(BR2_bfin || BR2_m68k)
	default BR2_BINFMT_FDPIC if BR2_bfin
	default BR2_BINFMT_FLAT if BR2_m68k
	default BR2_BINFMT_ELF if BR2_USE_MMU
	default BR2_BINFMT_FDPIC if BR2_ARCH_HAS_FDPIC_SUPPORT
	default BR2_BINFMT_FLAT

config BR2_BINFMT_ELF
	bool "ELF"
	depends on !BR2_bfin && !BR2_m68k
	depends on BR2_USE_MMU
	select BR2_BINFMT_SUPPORTS_SHARED
	help
	  ELF (Executable and Linkable Format) is a format for libraries and
@@ -287,7 +291,7 @@ config BR2_BINFMT_ELF

config BR2_BINFMT_FDPIC
	bool "FDPIC"
	depends on BR2_bfin
	depends on BR2_ARCH_HAS_FDPIC_SUPPORT
	select BR2_BINFMT_SUPPORTS_SHARED
	help
	  ELF FDPIC binaries are based on ELF, but allow the individual load
@@ -297,7 +301,7 @@ config BR2_BINFMT_FDPIC

config BR2_BINFMT_FLAT
	bool "FLAT"
	depends on BR2_bfin || BR2_m68k
	depends on !BR2_USE_MMU
	help
	  FLAT binary is a relatively simple and lightweight executable format
	  based on the original a.out format. It is widely used in environment