Age | Commit message (Collapse) | Author |
|
load time only nwo. Rename _dl_searchnum and lastlookup to _dl_grpsym_gen
and grpsym_gen as they are generation numbers. Merge _dl_newsymsearch()
into _dl_cache_grpsym_list_setup().
ok millert@
|
|
needs to lock down the entire load group, not just the specific object.
problem report and ok sthen@
been in snaps for a week
|
|
|
|
|
|
|
|
|
|
just the dynamic tags are needed instead of reusing the generic elf_object_t
structure.
testing and feedback from miod@
ok kettenis@
|
|
that it should show information about the program it loads, rather than
run it. In that specific case, ld.so can pledge to "stdio rpath" to
ensure that code path in ld.so has no bugs.
Yes, a pledge in ld.so.... who'd have thought!
ok guenther
|
|
ok guenther
|
|
load_object but rather some descendent. Detect that case in
_dl_unload_shlib() and switch to unloading the entire group.
Based on partial analyses by Henri Kemppainen (duclare (at) guu.fi)
and Peter Hajdu (peter.ferenc.hajdu (at) gmail.com)
ok millert@
|
|
|
|
a new MI routine _dl_protect_segment(), and use that for protecting the
GOT and--on some archs--the PLT.
Amazing testing turnaround by miod@, who apparently violated relativity
to get back results on some archs as fast as he did
|
|
|
|
|
|
ok millert@
|
|
where they end, there is a good chance they are sharing a page with .data,
which obviously needs to remain writable. So only attempt to make them
read-only if we know they have a non-zero size. Original diff from guenther@
based on an earlier diff from me. Fixes ld -Z on alpha.
ok miod@, guenther@
|
|
the callback, and the sigprocmask stub.
Keep around the DL_SETBINDLCK case until libpthread stops using it.
discussed with miod@ at l2k15
ok kettenis@
|
|
rcrt0.o will add it for BSS-PLT binaries if necessary.
ok guenther@
|
|
ok guenther@
|
|
necessary
ok deraadt@ jsing@
|
|
While here add some gcc __predict hints.
Much testing, discussion, pondering, and flailing from miod and deraadt
ok miod@
|
|
for now; misunderstanding between guenther@ and me.
|
|
ok millert@
|
|
Much discussion with and assistance from miod and deraadt
ok miod@
|
|
wrapper .h files and asm labels to let internal calls resolve directly and
not be overridable or use the PLT. Then, apply that framework to most of
the functions in stdio.h, string.h, err.h, and wchar.h. Delete the
should-have-been-hidden-all-along _v?(err|warn)[cx]? symbols while here.
tests clean on i386, amd64, sparc64, powerpc, and mips64
naming feedback from kettenis@ and millert@
ok kettenis@
|
|
Much discussion with and assistance from miod and deraadt
ok deraadt@
|
|
hide symbols on all our architectures; hppa, hppa64 and sh override LDADD.
LDADD isn't really the proper variable for passing linker flags anyway.
ok guenther@, deraadt@
|
|
a plabel instead of the entry-point address. In that case, get the
entry-point address from the plabel. Makes ld.so work on hppa when
_dl_bind_start gets hidden by the version script.
ok miod@
|
|
Much discussion with and assistance from miod and deraadt
ok deraadt@
|
|
Use kbind for lazy binding GOT/PLT updates on alpha and mips64.
While here add some gcc __predict hints.
Much discussion with and assistance from miod and deraadt
ok deraadt@
|
|
to follow. While here add some gcc __predict hints.
Much discussion with and assistance from miod and deraadt
ok deraadt@
|
|
two symbols needed by gdb. Remember: ld.so exports override those in
shared libs.
ok deraadt@
|
|
to follow. While here add some gcc __predict hints.
Much discussion with and assistance from miod and deraadt
ok deraadt@
|
|
support on powerpc as it uses a non-executable GOT and PLT.
"start slamming stuff in" deraadt@
|
|
|
|
|
|
|
|
ok miod@ kettenis@
|
|
too loose. Update the test to try to exercise the printf binding twice.
ok miod@
|
|
ok miod@
|
|
fixed everywhere but on sparc for some unknown reason (and did not cause
any havoc in real life).
|
|
|
|
|
|
is non-portable. Also add missing asprintf() return value checks.
OK deraadt@ guenther@ doug@
|
|
instead of corrupting the caller's stack by mistake.
This fixes the mysterious segfaults in __powerpc_read_tcb() reported on
earlier G3 systems - more recent processors have been luckier...
ok deraadt@
|
|
means read-only, which our ld.so already enforced, but a smaller plt section).
|
|
|
|
no change in behaviour as sizeof(char **) is the same as sizeof(char *)
ok otto@ guenther@
|
|
ok otto@ guenther@
|
|
|