Home | History | Annotate | Download | only in librumpuser
History log of /src/lib/librumpuser/rumpuser_dl.c
RevisionDateAuthorComments
 1.34  19-Apr-2022  rillig lib: remove CONSTCOND comment

Since 2021-01-31, lint doesn't need it anymore for the common pattern of
'do ... while (0)'.
 1.33  22-Mar-2020  pgoyette Teach rump to process __link_set_evcnts entries. (Second part of
fix for PR kern/55088)
 1.32  21-Mar-2020  pgoyette Teach rump how to process __link_set_sysctl_funcs so it can handle
modules the same as a real kernel.

Partly addresses PR kern/55088 - __link_set_evcnts not yet handled
(that will happen later)
 1.31  26-Dec-2019  msaitoh s/lenght/length/
 1.30  04-Nov-2014  pooka branches: 1.30.16;
Use autoconf for rump kernel posix hypercall layer.

This gets rid of homegrown hacks and puts all probes in one place.

Tested for NetBSD (build.sh + anita) and Linux (buildrump.sh)
 1.29  27-Apr-2014  pooka weak alias removal implication: rumpuser_dl_globalsym() can now sleep
with the fishes.
 1.28  02-Apr-2014  justin branches: 1.28.2;
Add Android support for rump kernel.

Reviewed by pooka@
 1.27  14-Mar-2014  justin If dlopen returns NULL assume we are statically linked and return,
rather than getting a warning when dlinfo fails.
 1.26  13-Mar-2014  pooka Do not process linkmaps if there is exactly one link map present
(i.e. there is no ld.so). Makes statically linked rump kernels work on
glibc (at least for me).

based on some discussion with Justin Cormack
 1.25  30-Oct-2013  pooka Oh, stdint.h isn't written with a comma ...
 1.24  30-Oct-2013  pooka need to include stdint.h before rump/rumpuser.h
 1.23  30-Oct-2013  pooka glibc on MIPS uses the same DYN d_ptr variant as NetBSD and musl.

from Justin Cormack
 1.22  27-Oct-2013  rmind librumpuser: add some #ifdef __APPLE__ and missing bits to build it on OS X.
OK pooka@
 1.21  30-Jul-2013  pooka comment polish: just musl
 1.20  30-Jul-2013  pooka Decide ET_DYN behavior based on __GLIBC__ instead of __linux__,
e.g. musl libc doesn't follow glibc behavior.

per discussions with a number of people
 1.19  04-Jun-2013  pooka FreeBSD does the Solaris-like map->l_addr boogie.

from Ben Gras
 1.18  29-Apr-2013  pooka Make rumpuser_dl_bootstrap() optional for platforms which don't
provide dynamic linking.
 1.17  20-Mar-2013  pooka Attempt two for the previous: _ILP32 comes from headers, so don't use
it to decide if we want to muddle with _FILE_OFFSET_BITS.
 1.16  20-Mar-2013  pooka Use _FILE_OFFSET_BITS=64 on Solaris too (necessary for 32bit builds).
 1.15  12-Mar-2013  pooka DragonFly is in the Solaris camp in the "how to access ELF DYN at runtime"
valley of joy and love.
 1.14  09-Mar-2013  pooka Tiny fix for Solaris.
 1.13  08-Mar-2013  pooka Ensure that rump kernel component constructors from the main object
get processed. This applies to ones which were linked statically.
Unfortunately, that's where it got a bit tricky, since the dlsym()
interface searches the handle and all its dependencies. For the main
object the list of dependencies includes all the dynamic rump kernel
components that were included when the binary is linked. So, a long
story short, make only one pass through the objects to harvest all the
component entries, weed out the dupes, and initialize components from
an in-memory dupe-free list when so requested.
 1.12  14-Jan-2013  pooka Support Cygwin as a hypervisor.
 1.11  11-Dec-2012  pooka Support binaries which use DT_GNU_HASH instead of DT_HASH.
 1.10  26-Nov-2012  pooka Support DragonFly BSD.
 1.9  26-Nov-2012  pooka const poison is the cure
 1.8  27-Jul-2012  pooka branches: 1.8.2;
Once again, make the rump kernel hypercall layer work on Linux.
 1.7  22-Mar-2011  pooka branches: 1.7.4;
make work on nb5 again
 1.6  16-Mar-2011  njoly Convert hashtab to Elf_Symindx type, and use it directly to get symbol
count. Remove now unused GETVECWORDn macro.

This is needed to make it work on alpha which use non-standard 64bit
values for the symbol hash table section, unlike all other archs.
 1.5  30-Dec-2010  pooka Allow rump kernel to call dlsym(RTLD_DEFAULT).
 1.4  08-Jun-2010  pooka Allow loading the symbols from objects which are not directly mapped
into memory, namely the main object (i.e. map->l_addr is NULL).
 1.3  05-Mar-2010  pooka During bootstrap, process all modinfos in a DSO in one go. Get
rid of dependency tricks, since they are no longer necessary.
 1.2  01-Mar-2010  pooka Introduce RUMP_COMPONENT. It behaves mostly like a simplified
module which is linked into the kernel and cannot be unloaded.
The main purpose is to get the proper constructors run and create
any /dev nodes necessary for said component. Once more of the
kernel (e.g. networking stack and device drivers) are converted to
MODULE and devfs pops up from somewhere, rump components can be
retired.
 1.1  26-Feb-2010  pooka librumpuser is not _KERNEL code and does not belong in sys. Move
the source files from src/sys/rump/librump/rumpuser to src/lib/librumpuser
(from where it is already built). Even so, keep rumpuser.h in
sys/rump/include for kernel source tree self-containment.
 1.7.4.4  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.7.4.3  23-Jan-2013  yamt sync with head
 1.7.4.2  16-Jan-2013  yamt sync with (a bit old) head
 1.7.4.1  30-Oct-2012  yamt sync with head
 1.8.2.3  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.8.2.2  23-Jun-2013  tls resync from head
 1.8.2.1  25-Feb-2013  tls resync with head
 1.28.2.1  10-Aug-2014  tls Rebase.
 1.30.16.1  08-Apr-2020  martin Merge changes from current as of 20200406

RSS XML Feed