• David Howells's avatar
    [PATCH] FRV: Add FDPIC ELF binary format driver · 91808d6e
    David Howells authored
    The attached patch adds a new binary format driver that allows a special
    variety of ELF to be used that permits the dynamic sections that comprise an
    executable, its dynamic loader and its shared libaries and its stack and data
    to be located anywhere within the address space.
    
    This is used to provide shared libraries and shared executables (at least, as
    far as the read-only dynamic sections go) on uClinux. Not only that, but the
    same binaries can be run on MMU linux without a problem.
    
    This is achieved by:
    
     (1) Passing loadmaps to the dynamic loader (or to a statically linked
         executable) to indicate the whereabouts of the various dynamic sections.
    
     (2) Using a GOT inside the program.
    
     (3) Passing setup_arg_pages() the stack pointer to be.
    
     (4) Allowing the arch greated control over how an executable is laid out in
         memory in MMU Linux.
    
     (5) Rewriting mm/nommu.c to support MAP_PRIVATE on files, thus allowing _mmap_
         to handle sharing of private-readonly mappings.
    Signed-Off-By: default avatarDavid Howells <dhowells@redhat.com>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    91808d6e
Kconfig.binfmt 5.31 KB