| Age | Commit message (Collapse) | Author |
|
|
|
rumpuser_dl_bootstrap, then return &_rtld_objself as the handle and do
not create a duplicate mapping.
The handle is mostly useless as _rtld_objself doesn't appear on
_rtld_objlist.
This fixes a problem on earm platforms where ld.elf_so (currently) has
an init_array section. Calling this caused binaries to segv.
|
|
|
|
|
|
|
|
|
|
- add function to add name aliases for shared libraries loaded
XXX[1]: we don't add a name during load time, only when DT_SONAME
is present.
- search already loaded objects in load_by_name for an already
loaded object that matches our name and return it.
- add missing initialization and cleanup for obj->names
XXX[2]: should we make them SIMPLEQ?
- Add XXX in rtld.c about getting the name of an object.
NB: This makes the jdk work again without resorting to a hack of putting
the build path of libjvm.so into the run path (which is a security
problem).
XXX: Pullup-6?
|
|
|
|
|
|
|
|
|
|
|
|
want to do an unpark.
Clearly this code path was never tested!
Needs pullup to netbsd-6
|
|
Callers need not call _rtld_error themselves now.
Fixes PR lib/41760. Should add the test case from the PR too.
|
|
|
|
barrier to prevent removal of calls to it.
|
|
vector. This can normally be found via __ps_strings, but libc is
initialised too early when linked dynamically and doesn't have access to
it yet, so provide an alternative mechanism via ld.elf_so.
Bump libc minor.
|
|
do_dlsym.
|
|
early, if e.g. pointers to functions are used as initializers.
|
|
be able to receive sigtrap for breakpoints to work, it can. For example
we are setting breakpoints inside dlopen(), after we've blocked the signal,
so the process keep trapping and looping over the trap instruction without
being able to send the signal. Another way would be to move the
_rtld_debug_state() calls outside the critical section...
|
|
|
|
Applied latest patch.
|
|
|
|
|
|
|
|
Use a simple generation count instead and restart looking for work if it
changed (e.g. due to an dlopen call from an init function).
Leave the possible dlclose() race for now.
|
|
|
|
running at the time.
|
|
|
|
|
|
|
|
|
|
|
|
_rtld_tls_allocate and _rtld_tls_free. libpthread uses this functions to
setup the thread private area of all new threads. ld.elf_so is
responsible for setting up the private area for the initial thread.
Similar functions are called from _libc_init for static binaries, using
dl_iterate_phdr to access the ELF Program Header.
Add test cases to exercise the different TLS storage models. Test cases
are compiled and installed on all platforms, but are skipped on
platforms not marked for TLS support.
This material is based upon work partially supported by
The NetBSD Foundation under a contract with Joerg Sonnenberger.
It is inspired by the TLS support in FreeBSD by Doug Rabson and the
clean ups of the DragonFly port of the original FreeBSD modifications.
|
|
|
|
objects, and the RTLD_NODELETE and RTLD_NOLOAD flags to dlopen(3).
Mark libpthread as DF_1_NOOPEN and use it to test the functionality.
Somewhat taken from FreeBSD.
Fixes PR 42029.
OK from christos and joerg.
|
|
|
|
|
|
once over the array and clean out entries as needed.
|
|
|
|
(due to setenv changes?)
Provide a mini unsetenv that does not allocate/free memory and does not
bother about locking.
|
|
Somewhat taken from FreeBSD. Manual page from OpenBSD.
|
|
This allows threaded programs to use us a little better, PR lib/43005.
We need to disable SSP when using alloca.
|
|
Uses the Donelist idea from FreeBSD.
|
|
|
|
|
|
Fixes round_down for alpha which made ldd(1) break.
|
|
Implement RTLD_DI_LINKMAP which returns a pointer to the linkmap
chain at the given object. Other Solaris queries are currently
unimplemented.
|
|
|
|
- look in src/compat/lib/libc for libc_pic.
- define RTLD_ARCH_SUBDIR to "i386" or "sparc" for amd64 and sparc64
builds, respectively
if RTLD_ARCH_SUBDIR is defined, add this path before
RTLD_DEFAULT_LIBRARY_PATH in the default search path.
|