git: vkernel - Module loading for vkernel64

Matthew Dillon dillon at crater.dragonflybsd.org
Thu Aug 15 19:39:18 PDT 2013


commit 086a8efc161a68dd89a92e4f903b7173eba5ae65
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Thu Aug 15 19:35:52 2013 -0700

    vkernel - Module loading for vkernel64
    
    * Fix a missing vm_object_drop() in the kldload error path.
    
    * Load modules using sbrk()'d memory (for now).
    
    * Hack rtld to accept a new environment variable, LD_SHAREDLIB_BASE,
      which forces shared libraries to be mmap()'d at the specified address.
    
    * Hack the vkernel64 binary to re-exec itself in order to set
      LD_SHAREDLIB_BASE to low memory.  This forces shared libraries into
      low memory which the KLD module loader can relocate against, instead
      of high memory which it can't.
    
    * test/vkernel/Makefile now builds and installs modules by default
    
    With-fixes-from: tuxillo

Summary of changes:
 libexec/rtld-elf/map_object.c          | 28 ++++++++++++++++++++++++++--
 libexec/rtld-elf/rtld.c                |  3 +++
 libexec/rtld-elf/rtld.h                |  1 +
 sys/kern/link_elf_obj.c                |  1 +
 sys/platform/vkernel64/platform/init.c | 22 +++++++++++++++-------
 test/vkernel/Makefile                  |  8 +++++---
 6 files changed, 51 insertions(+), 12 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/086a8efc161a68dd89a92e4f903b7173eba5ae65


-- 
DragonFly BSD source repository



More information about the Commits mailing list