arch: define dependencies for the binfmt flat formats
authorWaldemar Brodkorb <wbx@openadk.org>
Mon, 4 Jul 2016 18:51:39 +0000 (20:51 +0200)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tue, 5 Jul 2016 07:48:19 +0000 (09:48 +0200)
The situation looks like following for elf2flt and binfmt FLAT:

 * Only gcc for bfin/m68k implements
   -msep-data (BR2_BINFMT_FLAT_SEP_DATA) and
   -mid-shared-library (BR2_BINFMT_FLAT_SHARED), so the corresponding
   options are made only visible on those architectures.

 * When the default of BR2_BINFMT_FLAT_ONE is used on m68k, broken
   binaries are produced, which mainly end up in SIGILL, so do not use
   it for m68k.

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
[Thomas:
 - also add the dependencies on m68k/bfin to BR2_BINFMT_FLAT_SHARED
 - rework commit log.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
arch/Config.in

index be37481ac2b29fdf1da187f354446b934ebdfbc1..b980e05b9a402f30575498fedbd7a48f5de2cf55 100644 (file)
@@ -331,17 +331,20 @@ choice
 
 config BR2_BINFMT_FLAT_ONE
        bool "One memory region"
+       depends on !BR2_m68k
        help
          All segments are linked into one memory region.
 
 config BR2_BINFMT_FLAT_SEP_DATA
        bool "Separate data and code region"
+       depends on BR2_m68k || BR2_bfin
        help
          Allow for the data and text segments to be separated and placed in
          different regions of memory.
 
 config BR2_BINFMT_FLAT_SHARED
        bool "Shared binary"
+       depends on BR2_m68k || BR2_bfin
        # Even though this really generates shared binaries, there is no libdl
        # and dlopen() cannot be used. So packages that require shared
        # libraries cannot be built. Therefore, we don't select