summaryrefslogtreecommitdiff
path: root/ldso/ldso/readelflib1.c
AgeCommit message (Collapse)Author
2004-02-10Rework file naming, aiming for at least a vague level of consistancyEric Andersen
2004-02-10oops, manditory forgotten patchEric Andersen
2004-02-10Fixup the definition of _dl_open, and move some bits back where they were,Eric Andersen
till I properly finish the next step in my evil plan.
2004-02-08Move _dl_printf and _dl_malloc to ldso, which is a more sensibleEric Andersen
location for this stuff
2004-02-08Cleanup whitespace and formattingEric Andersen
2004-02-07Step one, begin shuffling things around a bitEric Andersen
2004-02-07Use unsigned char * pointersEric Andersen
2004-02-06Remove trailing whitespaceEric Andersen
2004-02-04Use a static const char array for static stringsEric Andersen
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.
2004-01-29Scrub up use of ELF_USES_RELOCA and eliminte some unsightly ifdefsEric Andersen
2004-01-29Eliminate separate passes for _dl_copy_fixups() and _dl_fixup(), andEric Andersen
do both operations in a single pass.
2003-12-17Use PAGE_SIZE rather than hard coding 4096Eric Andersen
2003-12-17When I switched from using stack allocated space for printf, I missed a caseEric Andersen
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.
2003-12-05move _dl_fixup so staticly linked apps using dlopen have aEric Andersen
chance of actually working
2003-12-03Eliminate some static buffers based on a patch from Tobias AnderbergEric Andersen
2003-11-05Fix a buglet that shows up on powerpcEric Andersen
2003-11-04Rework the config system. Better utilize the Kconfig languageEric Andersen
which should simplify enabling arbitrary architectures. -Erik
2003-10-09move the test for loading the wrong C library into theEric Andersen
_dl_check_if_named_library_is_loaded function
2003-09-19Initialize strings as pointers instead of arrays.Tobias Anderberg
2003-09-11Simplify an expression. Use static const on strings to avoidEric Andersen
a gcc 2.95 compiler problem on powerpc.
2003-09-02cleanup/simplify duplicate handling.Eric Andersen
2003-08-31Weed out duplicates before trying to load libraries.... DelayedEric Andersen
checking for duplicates and returning an alias if an existing lib is already loaded is still correct for the dlopen case.
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-08-19Phase one of my evil plan to clean up ld.so...Eric Andersen
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
2003-03-01Fix the shared library loader so we can properly debug things like pthreads.Eric Andersen
Mips gdb support for pthreads and similar complex stuff is broken, but then it couldn't have worked before either... -Erik
2003-01-24Support having libs in /usr/X11R6/lib by default as wellEric Andersen
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-11-20Kill SVR4_BUGCOMPATEric Andersen
2002-11-20Patch from Stefan Allius:Eric Andersen
- 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
2002-11-19Per suggestion from Stefan Allius, change DO_MPROTECT_HACKS toEric Andersen
the more clear FORCE_SHAREABLE_TEXT_SEGMENTS.
2002-11-19Stefan Allius writes:Eric Andersen
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.
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-05Fixed another address alignment where a pagesize of 4k were assumed.Tobias Anderberg
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-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-06-05Fix up of '_dlopen' call and removal of unneeded argument in call ↵"Steven J. Hill"
'_dl_load_elf_shared_library'.
2002-05-28Patch from Tobias Anderberg <tobias.anderberg@axis.com> to abstractEric Andersen
out page alignment issues. As we we were assuming 4k pages, which need not be the case...
2002-05-20Fixed MIPS dynamic linker by removing link order dependency bug."Steven J. Hill"
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-09Fix funky use of bracketsEric Andersen
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-04-02Steven J. Hill's latest mips dynamic loader updatesEric Andersen
2002-03-19Prevent uninitialized useEric Andersen
2002-03-14Remove an unused variableEric Andersen
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-17A ton of cleanups. Eliminate some useless code. Much betterEric Andersen
debugging code now. -Erik
2002-01-23Fixup build a bit. Be sneaky and include everything intoEric Andersen
a single .c file, making stuff be even smaller.