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