Hi Nicolas,

On 18/07/16 13:31, Nicolas Pitre wrote:
> This series provides the necessary changes to allow "flat" executable
> binaries meant for no-MMU systems to actually run on systems with a MMU.
> 
> This can also be found in the following git repo:
> 
>       git://git.linaro.org/people/nicolas.pitre/linux binfmt_flat_with_mmu
> 
> *Why?*
> 
> Because developing and testing natively on a large system with lots of
> RAM makes it so much more convenient to use all the existing profiling
> tools and debugging facilities that a kernel with lots of RAM can give.
> And incidentally, those systems with lots of RAM all have a MMU.
> 
> *Why not use elf_fdpic?*
> 
> The flat executable format is simple with very small footprint
> overhead, either in the executables themselves or kernel support.
> This makes the flat format more suitable than elf_fdpic for very small
> single-user-app embedded systems.
> 
> And while elf_fdpic binaries can run on MMU systems, flat binaries still
> couldn't, which just felt wrong.
> 
> So here it is.  The no-MMU support should remain unaffected. Please consider
> for pulling.
> 
> Tested on ARM only with a busybox build.

Tested on m68k (ColdFire specifically) and everything compiles
cleanly and works as before.

I tried running a flat binary on an MMU ColdFire system and
that crashed out with a SIGSEGV. I haven't debugged any further
than that yet.

I had a look over the patches and I didn't see any specific
problems. So from me:

Reviewed-by: Greg Ungerer <g...@linux-m68k.org>

When I get a minute I'll dig a little into that bflat running
on MMU problem on ColdFire.

Regards
Greg



> Changes since v1:
> 
> - Removed SuperH and Xtensa from the Kconfig rule as they fail to build
>   due to lack of get/put_unaligned_user().
> 
> - Clarified some commit logs a bit.
> 
> diffstat:
> 
>  arch/arm/include/asm/flat.h  |   5 +-
>  arch/m68k/include/asm/flat.h |   5 +-
>  fs/Kconfig.binfmt            |   3 +-
>  fs/binfmt_elf_fdpic.c        |  38 +---
>  fs/binfmt_flat.c             | 372 +++++++++++++++++++++--------------
>  fs/exec.c                    |  33 ++++
>  include/linux/binfmts.h      |   2 +
>  7 files changed, 268 insertions(+), 190 deletions(-)
> 
> 

Reply via email to