summaryrefslogtreecommitdiff
path: root/ldso/ldso/i386/elfinterp.c
AgeCommit message (Collapse)Author
2005-11-21Partly undo earlier patch on vapier's requestPeter S. Mazinger
2005-11-21Guard debug_sym/debug_reloc, make sure elfinterp.c sees __SUPPORT_LD_DEBUG__Peter S. Mazinger
2005-11-02Don't need this debug check anymore.Joakim Tjernlund
2005-11-02psm missed a spot :)Joakim Tjernlund
2005-11-02ldso powerpc changes ported to i386Peter S. Mazinger
2005-07-07rip out all the duplicated debug code and move into a shared fileMike Frysinger
2005-06-03tweak whitespace to minimize diffs between i386/m68kMike Frysinger
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.
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-09-23White space and printouts cleanup. From Peter Kjellerstedt.Joakim Tjernlund
2004-09-17Formatting cleanups from Peter Kellerstedt.Joakim Tjernlund
2004-09-17Don't allow undefined global symbols to pass(all archs needs fixing,Joakim Tjernlund
but powerpc). If you are using buildroot and soft floating point, you may have to rebuild the libm.so library, copy it to staging_dir/lib and rebuild your application. Move handling of R_386_COPY back into _dl_do_reloc(all archs should do this). Adjust the first argument to _dl_memcpy as it looks wrong to have symtab[symtab_index].st_value as destination for the mem copy.
2004-08-25Patch from Stefan Allius:Joakim Tjernlund
Remove unused function parameter in ldso. Remove echo option '-e' since it is not supported on Solaris.
2004-08-17Let ldso decide if it should relocate itselft a second time. ThisJoakim Tjernlund
is needed if ldso should use libcs malloc whenever possible. Fix RTLD_LAZY propagation to RTLD_NOW relocation when requested by libdl.
2004-06-27Joakim Tjernlund writes:Eric Andersen
Hi yet again :) in dl-startup.c when performing boot strap relocation the following test exists to make sure that only "_dl_" symbols are relocated: /* We only do a partial dynamic linking right now. The user is not supposed to define any symbols that start with a '_dl', so we can do this with confidence. */ if (!symname || !_dl_symbol(symname)) { continue; } However on PPC(and the other archs as well I suspect) all symbols are "_dl_" symbols so the test is never true. The test can be removed and the whole loop simplified(smaller). This also makes it possible to simplify elfinterp.c This remove the scanning of ldso.so relocs, making relocation faster. I have tested this on PPC and it works well. Do you think this optimization will work for the other arches as well? I can't see why not. Jocke * Tested on x86, arm, mipsel, and powerpc by Erik and works nicely -Erik
2004-02-14Give gcc branch prediction some hits on obviously unlikely branchesEric Andersen
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-07Split off the stuff that cannot use function into its own file,Eric Andersen
to make it easier to treat it specially while not bothering the rest of the code with the same constraints.
2004-01-29Modify interfaces for _dl_parse_relocation_information()Eric Andersen
_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.
2003-11-06Revert change 1.26, which breaks everything. :-(Eric Andersen
2003-11-05tiny cleanupEric Andersen
2003-08-19More routine cleanupEric Andersen
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-27oopsEric Andersen
2003-06-27whitespace and debug updatesEric Andersen
2002-11-05Massive scrubbing of the shared lib loader error handling.Eric Andersen
Move all configuration options into the new config system. -Erik
2002-10-01This commit contains a patch from Stefan Allius <allius@atecom.com> to changeEric Andersen
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.
2002-09-12Add missing _dl_dprintf arguments, as noticed by Tero Lyytik�inen ↵Eric Andersen
<tero@paravant.fi>
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-08-08Make some strings constEric Andersen
-Erik
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-03-19Add new debug target (disabled by default) so that when debugEric Andersen
is on we now default to resolving symbols permanently.. -Erik
2002-03-08Seperate out the symbol resolution debugging, so it doesn't clutterEric Andersen
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
2002-02-17Fix defines so debugging works as expectedEric Andersen
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-08-11Begin removing some unnecessary inlining, and fix namingEric Andersen
of _dl_fprintf which should really be _dl_dprintf -Erik
2001-07-13This takes about 6k off the size of the x86 shared lib loader...Eric Andersen
-Erik
2001-07-03Scrub a couple of intsEric Andersen
2001-05-10minor formatting cleanupsEric Andersen
2001-05-08Some very minor cleanupsEric Andersen
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-30Sanitize the calling of _dl_linux_resolver so it can be read byEric Andersen
mere mortals, and so it says what it means. Ick this stuff was nasty. -Erik
2001-04-23Revert my syscall changes. The _syscall# macros are not PICEric Andersen
friendly and don't work. Back to nasty asm... With this change in place, it now works for me on x86. -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