summaryrefslogtreecommitdiff
path: root/ldso/ldso/dl-hash.c
AgeCommit message (Collapse)Author
2005-09-18Remove unused function.Joakim Tjernlund
2005-08-29some fixes by anemo in Bug 9 to play nicely with 32 or 64 bit hostsMike Frysinger
2005-07-13eat pointless whitespaceMike Frysinger
2005-07-13use Elf32_Word instead of uint32_t since that is what the ELF spec refers toMike Frysinger
2005-07-11force hash buckets to work off of 32bit quantitiesMike Frysinger
2005-06-30create generic ELF_* macros to hide 32/64 bit differencesMike Frysinger
2005-06-30change all Elf32_* usage to ElfW(*) usage since we shouldnt care about the ↵Mike Frysinger
bitsize
2005-06-30The function '_dl_memset' should always be inlined regardless of the"Steven J. Hill"
optimization level chosen. This allows uClibc to be compiled with the latest GCC-4.1.0. While tracking down the specific culprit causing the segmentation fault of the dynamic loader with GCC-4.1.0 I was able to force inlining of other functions such that I shaved 512 bytes off the size of the loader, yay. Also fixed warning in 'dl-hash.c'.
2005-04-01Optimize _dl_elf_hash(), both smaller and faster. MostlyJoakim Tjernlund
taken from glibc.
2005-03-29Moved the addition of load address from the fast pathJoakim Tjernlund
where possible. This will also make ldso smaller. However the patch touches all archs and I have only tested PPC and x86.
2005-01-05fix eriks e-mail addressMike Frysinger
2004-11-10Add RTLD_LOCAL support for dlopened libs. Reported byJoakim Tjernlund
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.
2004-11-02- Remove dynamic_size from struct elf_resolve.Joakim Tjernlund
- 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.
2004-08-26Added test for RTLD_GLOBAL flag in _dl_find_hash().Joakim Tjernlund
Fixed a bug in libdl.c where the RTLD_GLOBAL was assigned wronly.
2004-08-09This should fix the dlsym problem Peter van Hoyweghen reported.Joakim Tjernlund
However RTLD_LOCAL still doesn't work. Everything is RTLD_GLOBAL.
2004-07-14Sigh. I got things working this morning, then checked stuff in from the wrongEric Andersen
tree. Bad boy, No doughnut. -Erik
2004-07-14Based on a patch from Alexandre Oliva, make sure _dl_malloc returns a nicelyEric Andersen
aligned pointer that may be aligned up to page_size. Also add _dl_free,
2004-06-19Joakim Tjernlund writes:Eric Andersen
Make old weak symbol handling work, if someone wants to enable it.
2004-02-20Patch from Joakim Tjernlund:Eric Andersen
white space cleanup and optimize the inner loop in dl_find_hash.
2004-02-14Joakim Tjernlund writes:Eric Andersen
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 ...
2004-02-10Fix function prototype to match the official ELF standard hash functionEric Andersen
2004-02-08Cleanup whitespace and formattingEric Andersen
2004-02-07Joakim Tjernlund writes:Eric Andersen
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.
2003-08-19Cool. Found most of the problem. Turns out we were inadvertanly loading someEric Andersen
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.
2003-06-18Be extra careful to memset the correct size, not the size of some randomEric Andersen
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
2002-12-12Rework things such that staticly linked applications can useEric Andersen
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
2002-08-19some updates from Stefan Allius to make up the SuperH shared libEric Andersen
loader build properly. Mostly just sprinkling casts, and making static some things that should be static.
2002-08-09Disable this code for mips, which does things quite differently...Eric Andersen
-Erik
2002-08-08Patch from Stefan Allius and Edie C. Dost to add SuperHEric Andersen
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
2002-05-09Another mips patch from Steven J. Hill:Eric Andersen
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.
2002-05-02Patch from Steven J. Hill <sjhill@realitydiluted.com>:Eric Andersen
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!
2002-01-23Fixup build a bit. Be sneaky and include everything intoEric Andersen
a single .c file, making stuff be even smaller.
2002-01-11Rework naming for shared lib loader to avoid potentialEric Andersen
nameing conflicts with std header files. -Erik
2001-05-01Another cleanup. Never pass addresses as an 'int'Eric Andersen
-Erik
2001-05-01Yet another major rework. This time around, rework it to no longerEric Andersen
use linux kernel header files. -Erik
2001-04-25Move libdl and udate build method a bitEric Andersen
-Erik
2001-04-23Initial checkin for ld.so. This is a combination of effort from Manuel NovoaEric Andersen
III and me. I've been working on stripping out arch dependant stuff and replacing it with generic stuff whenever possible. -Erik