Age | Commit message (Collapse) | Author |
|
|
|
Andrew de Quincey, who has been most helpful getting this sorted
out, thanks. Thanks also to Peter Mazinger who did alot of testing.
Removed all traces of dl_parse_copy_information() since it is no longer used.
|
|
- Replace all open coded dynamic handling with a function. Reduces size.
- Fold special MIPS dynamic code into the dynamic_info item.
- Add RELRO support.
- Support linking with "-z now".
- prepare for DT_RELACOUNT/DT_RELCOUNT optimization.
- Add -z now to ld.so linking, this is what ld.so does anyway so
let the linker know that.
|
|
Fixed a bug in libdl.c where the RTLD_GLOBAL was assigned
wronly.
|
|
However RTLD_LOCAL still doesn't work. Everything is RTLD_GLOBAL.
|
|
tree. Bad boy, No doughnut.
-Erik
|
|
aligned pointer that may be aligned up to page_size. Also add _dl_free,
|
|
Make old weak symbol handling work, if someone wants to
enable it.
|
|
white space cleanup and optimize the inner loop in dl_find_hash.
|
|
Hi it is me again.
This is the latest ldso patch. the NEW weak symbol handling works now
with a little special handling in _dl_find_hash(). You get to chose
if you want the new or old handling :)
There was 2 missing _dl_check_if_named_library_is_loaded() calls in _dlopen().
I then disabled the _dl_check_if_named_library_is_loaded() in dl-elf.c since
it is rendundant.
Question, why does some _dl_linux_resolver(), like i386, have 2 calls
to _dl_find_hash()? I think that is wrong, isn't it?
I really hope you can check this out soon ...
|
|
|
|
|
|
Hi again
All dltest* and test* programs pass for me.
uClibc ld.so resolves according to the OLD weak symbol handling.
I have tried to use the new scheme as well, but that segfaults in all
cases but test3.
|
|
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
|
|
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
|
|
loader build properly. Mostly just sprinkling casts, and making
static some things that should be static.
|
|
-Erik
|
|
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
|
|
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!
|
|
a single .c file, making stuff be even smaller.
|
|
nameing conflicts with std header files.
-Erik
|
|
-Erik
|
|
use linux kernel header files.
-Erik
|
|
-Erik
|
|
III and me. I've been working on stripping out arch dependant stuff and
replacing it with generic stuff whenever possible.
-Erik
|