Age | Commit message (Collapse) | Author |
|
|
|
|
|
till I properly finish the next step in my evil plan.
|
|
location for this stuff
|
|
|
|
|
|
|
|
|
|
|
|
_dl_parse_lazy_relocation_information() and _dl_parse_copy_information()
so they are all consistant, allowing for future consolidation.
Trim some trailing whitespace as well.
|
|
|
|
do both operations in a single pass.
|
|
|
|
where a sizeof(foo) was changed to the sizeof a pointer. This caused
_dl_printf to complain a lot when debug is enabled (which itself revealed a bug
since it should have exited on buffer overflow), and let me to find another
bug, where memory failures would try to recursively call _dl_printf....
What a mess.
|
|
chance of actually working
|
|
|
|
|
|
which should simplify enabling arbitrary architectures.
-Erik
|
|
_dl_check_if_named_library_is_loaded function
|
|
|
|
a gcc 2.95 compiler problem on powerpc.
|
|
|
|
checking for duplicates and returning an alias if an existing lib
is already loaded is still correct for the dlopen case.
|
|
libraries multiple times, wasting memory and causing different libraries to use
different symbol sets, some of which were not properly resolved.
Continue scrubbing ld.so and converting it to use proper types.
|
|
|
|
pointer. Fix printing of '0x0x' in ldd output. Simplify discrimination of
libname, so doing things like dlopen("./libfoo.so",RTLD_NOW) with a leading
"./" in the path will work as expected.
-Erik
|
|
Mips gdb support for pthreads and similar complex stuff is broken, but then it
couldn't have worked before either...
-Erik
|
|
|
|
dlopen and have it be successful. This required moving some
things out of ldso.c into readelflib1.c, and directly including
hash.c and readelflib1.c into dlib.c when building the static
version of the library.
-Erik
|
|
|
|
- Invert all FORCE_SHAREABLE_TEXT_SEGMENTS checks.
- Define FORCE_SHAREABLE_TEXT_SEGMENTS in the Makefile,
so it can be configured by the config system.
- linuxelf.h inspects that we don't combine FORCE_SHAREABLE_TEXT_SEGMENTS
and SVR4_BUGCOMPAT
- Add a new config option for FORCE_SHAREABLE_TEXT_SEGMENTS
|
|
the more clear FORCE_SHAREABLE_TEXT_SEGMENTS.
|
|
I fixed two little bugs in ldso.c:
- For LDD support we test the old environment variable
LD_TRACE_LOADED_OBJECTS.
- Before we init the GOT table of the dynamic loader
we have to check, if we have a DT_PLTGOT entry.
If DT_PLTGOT was zero we patch somthing in the header
of the dynamic loader. This was the cause, why we have to
enable the DO_MPROTECT_HACKS option for all targets, to avoid
segment faults.
In readelflib1.c I added a warning, if we try to load a shared library, which
wasn't compiled with -fPIC or -fpic. So if we disable the DO_MPROTECT_HACKS
option we are sure, that we don't waste memory by shared libraries which
aren't able to share their text segment. I think this is a helpful option on
little embedded systems.
|
|
Move all configuration options into the new config system.
-Erik
|
|
how uClibc handles _init and _fini, allowing shared lib constructors and
destructors to initialize things in the correct sequence. Stefan ported the SH
architecture. I then ported x86, arm, and mips. x86 and arm are working fine,
but I don't think I quite got things correct for mips.
|
|
|
|
loader build properly. Mostly just sprinkling casts, and making
static some things that should be static.
|
|
shared library support. This also adds some cleaner error
handling, which I (Erik) then ported over to x86 and arm.
In addition Stefan added the following fixes:
- in hash.c was the lvalue handling of global library functions wrong.
To fix this I had to change the prototype of _dl_find_hash. (==> TIS and
ELF spec. Vers. 1.2)
- in ldso.c was the order of the .init sections calls wrong. Before we call
the initialization code of a library we have to check that all dependend
libraries are already initialized. This can easily made by calling it in the
revers loading order. For this I added a previous pointer chain.
- in ldso.c the ELF magics wasn't checked fo PPC, MIPS and SH architecture
|
|
'_dl_load_elf_shared_library'.
|
|
out page alignment issues. As we we were assuming 4k pages, which
need not be the case...
|
|
|
|
Uh, this patch fixes a few bugs that I overlooked. Shoot, even BusyBox
wouldn't work until these are applied. Erik, plop this into CVS please.
Thanks.
|
|
|
|
I am very pleased to announce that the MIPS dynamic linker/loader
for uClibc is now working. It works on big and little endian
platforms.
A few minor changes were needed to avoid breaking ldd, and since this
makes some non-trivial changes, I have tested on x86, arm, and powerpc
to be sure thoese arches didn't get broken. Excellent work Steven!
|
|
|
|
|
|
|
|
things up when we don't care about symbol resolution problems. Make
the lib loader always look first in the directory where the shared lib
loader was found.
-Erik
|
|
debugging code now.
-Erik
|
|
a single .c file, making stuff be even smaller.
|