Age | Commit message (Collapse) | Author |
|
to do lazy binding.
|
|
|
|
|
|
- remove printfs that are only useful for the person who put them there.
- Style.
- dead code.
Needs much more work.
|
|
- some comments.
|
|
print a message instead of dereferencing a NULL pointer.
|
|
various cleanups.
|
|
versions of these files.
Fixed a bug in ld.so in this, instead of scheduling the fini of each of
the shared libraries with atexit. schedule a function of ld.so itself
and it will walk all of the open libraries when the program exits.
otherwise a shared library could be dl_open()ed and then dl_close()d
and then it would not be mapped for the atexit processing.
TODO:
What if atexit is not found (process did not link against libc?)
Do shared libraries that are dl_closed have their global destructors run?
|
|
This code is not yet working.
|
|
|
|
Pieces by art, niklas and me.
Only tested on powerpc.
|
|
code, now that will be changed to all arch besides mips will default
to using that. mips probably would be changed to but it has not been
tested.
|
|
|
|
of relying on magic variable names, reqire that the library provide the
_init/_fini functions so that the linker will find them and create
the DT_INIT and DT_FINI sections of the .dynamic section of the shared library.
With the shared library providing the DT_INIT function pointer, it is
now possible to just check the init field and call it if defined, if not
defined no constructors are needed. This cleans up the code in ld.so greatly.
|
|
is going on
|
|
respect the LD_TRACE_LOADED_OBJECTS environment variable,
print loaded libraries and exit, do not execute program.
|
|
code and is fully BSD copyrighted.
This initial import contains a mostly working mips and partially working
powerpc version. No support for ld.so.hints or system run path exists.
|