Age | Commit message (Collapse) | Author |
|
error: indirection of non-volatile null pointer will be deleted, not trap [-Werror,-Wnull-dereference]
Suggestion from matthew@
Ok matthew@ miod@
|
|
ok matthew@ millert@
|
|
whitespace, and no argument names.
ok matthew@ deraadt@
|
|
each plt call, allowing to trace a binary linked against shared library at the
public function call level.
To do so, ltrace(1) sets up some environment variables to enable plt tracing
in ld.so, and invokes ktrace(2) for utrace events. ld.so will force lazy
binding and will send an utrace record in the plt resolver, without updating
the plt.
Minimal filtering capabilities are provided, inspired by Solaris' truss -u,
to limit tracing to libraries and/or symbol names. Non-traced libraries and
symbols will have the regular resolver processing, with the expected plt
update.
"Get it in" deraadt
|
|
when linked against non-pic material (such as linking against libgcc without
passing -fpic or -fPIC on the commandline).
Given the large userland address space (4GB) and random library placement, it
is unlikely that these relocations can ever suceed anyway (DISP26 only allows
for a 256MB offset); _dl_exit() in that case, after printing a warning message.
That's better than dumping core.
|
|
Much assistance and testing by miod
ok miod@
|
|
of the .plt whenever possible, and fallback to the old behaviour of searching
for special symbols pointing to its boundaries. No functional change.
|
|
Improvements and okay matthew@, millert@, guenther@
|
|
|
|
invoked with lazy binding.
|
|
object relocation, if loaded at a different address than the one it was
compiled for; unsurprisingly fixes some spurious crashes.
|
|
This makes lazy binding work, so don't disable it anymore.
|
|
does not work beyond the first few lazy resolver calls. But that's already
enough to run simple binaries.
|