[Buildroot] [PATCH v2 2/2] arch: tidy up binary formats config
Arnout Vandecappelle
arnout at mind.be
Wed Jun 3 20:48:43 UTC 2015
On 06/03/15 16:12, Guido Martínez wrote:
> 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: Guido Martínez <guido at vanguardiasur.com.ar>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout at mind.be>
One optional nit:
> ---
> arch/Config.in | 16 ++++++++++------
> 1 file changed, 10 insertions(+), 6 deletions(-)
>
> diff --git a/arch/Config.in b/arch/Config.in
> index 3ad9574..ace1cfe 100644
> --- a/arch/Config.in
> +++ b/arch/Config.in
> @@ -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 if !BR2_USE_MMU
I think this should either be without condition at all, or with a condition
that matches the previous ones, i.e. if !BR2_USE_MMU && !BR2_ARCH_HAS_FDPIC_SUPPORT.
Also we normally don't do any vertical alignment at all, so just put a single
space instead of tabs.
Regards,
Arnout
>
> 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
>
--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286500
Essensium/Mind http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
More information about the buildroot
mailing list