summaryrefslogtreecommitdiff
path: root/ldso
AgeCommit message (Collapse)Author
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-10-27Jocke's patch was almost right. Just needed move the DT_MIPS_RLD_MAP testManuel Novoa III
up a bit. Native and remote debugging of shared libs and threaded apps now works on mips.
2004-10-14unmap ld.so.cache when dlopen() returns.Joakim Tjernlund
2004-10-14Don't SEGV if library not found.Joakim Tjernlund
2004-10-12Mark Rakes writes:Joakim Tjernlund
without LDSO_CACHE_SUPPORT turned on, LDSO_CONF and LDSO_CACHE are not defined anywhere, but still used by ldconfig.c This patch allows ldconfig to build again, although there may be a cleaner way to fix this???? Applied with minor modification.
2004-10-11Undo previous change. Leave SUID programs alone until I know what to doJoakim Tjernlund
with them.
2004-10-11Don't use ld.so.cache for SUID programs.Joakim Tjernlund
2004-10-07Remove _dl_parse_copy_information() for CRIS per Peter Kjellerstedts request.Joakim Tjernlund
2004-10-07Remove usage of _dl_parse_copy_information() from generic code.Joakim Tjernlund
Remove definition of _dl_parse_copy_information() for powerpc. Remaining archs can do the same. Make debugging output of "relocation processing: xxx" a bit more sane.
2004-10-06Don't complain if ld.so.cache is missing.Joakim Tjernlund
2004-10-06Peter S. Mazinger writes:Joakim Tjernlund
Hello! Here is the modified unsecvars patch that applies to cvs.
2004-10-06Puts common defines into dl-defs.h (in ldso/include) from dl-elf.h andJoakim Tjernlund
dl-cache.h and make use of it. Also disables the lib-path-redundancy check for the case the cache is not used. Makes use of _PRELOAD_FILE_SUPPORT. From Peter Mazinger.
2004-10-06Remove unneeded -D<somedefine>, and use instead #ifdef __somedefine__Joakim Tjernlund
From Peter Mazinger.
2004-10-05Peter Kjellerstedt writes:Joakim Tjernlund
After the addition of a configuration option for enabling the support of /etc/ld.so.cache, I thought it might be a good idea to add one for the support of the /etc/ld.so.preload file too. So here it is. While doing this, I also noticed that the dynamic linker would hang indefinitely if either LD_PRELOAD or /etc/ld.so.preload contained a library which was already loaded, so I made a patch for that too. And of course, I could not resist from doing a little clean up of comments and indentation, so here is a patch for that too.
2004-10-03This patch from Mike Frysinger, extended from an earlier patch from Peter S.Eric Andersen
Mazinger implements the changes suggested by me on the uclibc list. On Tuesday 28 September 2004 02:24 pm, Erik Andersen wrote: > What I think should be done is > > *) Someone that cares about USE_CACHE should fix that option > up to be sure it works, and give it a proper config entry > in extra/Configs/Config.in, and rename it to something > more appropriate such as LDSO_CACHE_SUPPORT. > > *) When LDSO_CACHE_SUPPORT=n, UCLIBC_RUNTIME_PREFIX /usr/X11R6/lib > should be included in the default library search path in > dl-elf.c, ldd, and ldconfig. > > *) When LDSO_CACHE_SUPPORT=y, UCLIBC_RUNTIME_PREFIX /usr/X11R6/lib > should be excluded from the default library search path in > dl-elf.c, ldd, and ldconfig, and those wishing to include > X11 stuff should add that into /etc/ld.so.conf and re-run > ldconfig. > > *) At present, LDSO_CONF and LDSO_CACHE use the same names > and same structure as glibc. This precludes > LDSO_CACHE_SUPPORT being uses in any sane fashion on a > dial glibc and uClibc system. Just as it was necessary > for use to use a different name for 'libuClibc' rather > than 'libc', and 'ld-uClibc.so.0' rather than > 'ld-linux.so.2' it seems that these configuration files > really ought to be given different names. >
2004-09-28Remove /usr/X11R6/lib from search path.Joakim Tjernlund
Search in UCLIBC_RUNTIME_PREFIX"lib" before UCLIBC_RUNTIME_PREFIX"usr/lib". X11 users should enable USE_CACHE in Rules.mak, add /usr/X11R6/lib to /etc/ld.so.conf and run ldconfig.
2004-09-23Don't allow undefined global symbols to pass.Joakim Tjernlund
Move COPY relocs back to _dl_do_reloc(). White space cleanup.
2004-09-23White space and printouts cleanup. From Peter Kjellerstedt.Joakim Tjernlund
2004-09-23Make do_rem() safe. From Peter Kjellerstedt.Joakim Tjernlund
2004-09-23Don't allow undefined global symbols to pass.Joakim Tjernlund
Move COPY relocs back to _dl_do_reloc().
2004-09-23Make powerpc look more like the other archs.Joakim Tjernlund
2004-09-17Added back dl_iterate_phdr in ldso(with some small changes).Joakim Tjernlund
Someone needs to test if it works to build and run gcj.
2004-09-17Formatting cleanups from Peter Kellerstedt.Joakim Tjernlund
2004-09-17Bugfix: Add r_addend to final address. The r_addend is mostly zeroJoakim Tjernlund
but can be nonzero for JMP relocs as well. All Rela arches need to do this, test and send a patch :) Remove unneeded test in R_PPC_COPY.
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-09-16Don't allow undefined global symbols to pass(all archs needs fixing).Joakim Tjernlund
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. Cleanups as well.
2004-09-08Second attempt to fix the INIT/FINI order. This time I think I got it right :)Joakim Tjernlund
This needs testing with apps that have complex dependencies.
2004-09-07We do not use dl_iterate_phdr, so no need to define itEric Andersen
2004-09-07Use a more appealing name, matching the function prototypeEric Andersen
2004-09-03First attempt to fix the INIT/FINI ordering. Fingers crossed :)Joakim Tjernlund
2004-09-02Remove unused variables. From Peter Mazinger.Joakim Tjernlund
2004-08-31Dont mess with __curbrk in ldsoEric Andersen
2004-08-27#include "dl-startup.c into ldso.c, making ldso one compilation unit.Joakim Tjernlund
Now all functions and vaiables can be made static to reduce relocs. Basicly, all variables should be merged into one struct variable and then export that struct. Exported functions should be exported as functions pointers in the above struct. This will reduce the number of relocs inside ldso to a handful. Add -Bsymbolic to linker for ldso. This will resolve all functions (all JMP_SLOT goes away) and the remaining relocs are transformed into RELATIVE relocs.
2004-08-27Forgot to commit this file. Patch from Stefan Allius.Joakim Tjernlund
2004-08-27As Mike Frysinger notes, this code is still needed. IJoakim Tjernlund
misread this code and removed it, sorry. I printed the values of _dl_brkp and _dl_envp in ldso and got this when executing: ls: __curbrk: 0x300c16e0 __environ: 0x1008372c ldd: __curbrk: 0x300776e0 __environ: 0x3007759c why is__environ in the app when executing ls but not ldd?
2004-08-26Partial patch from Alexandre Oliva to update the frv portEric Andersen
2004-08-26Only print debug stuff when askedEric Andersen
2004-08-26Fixup a couple of warningsEric Andersen
2004-08-26Avoid multiple passes to perform mips GOT relocations, and doEric Andersen
the whole lot in a single pass. -Erik
2004-08-26Fixes from gentoo.Manuel Novoa III
2004-08-26Let ldso find libc's malloc function and set _dl_malloc_function.Joakim Tjernlund
This removes some crap in libdl.c(and future libs which needs to access ldso functions). What do you think?
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-26Relocations of the application's global GOT entries were not being run, andEric Andersen
only the global GOT entry relocations for the loaded shared libs were being handled. This made applications segfault when using un-fixedup symbols. After many hours debugging to track down the problem, this patch makes the mips port happy again. -Erik
2004-08-26Stefan Allius writes:Joakim Tjernlund
"I fixed the _dl_parse_copy_information in the same way than for the powerpc and it works fine for me. You may luck at the patch for the powerpc/elfinterp.c, where I change the paramter of a dl_dprintf statement. Now we use the same parameters than for the relocation copy." Arch mantainers, please do the same. When all arches has been fixed, we can remove of _dl_parse_copy_information, it is just a waste of CPU cycles.
2004-08-25Joakim Tjernlund writes:Eric Andersen
Hi Manuel & Erik I think I know why MIPS is broken. _dl_perform_mips_global_got_relocations() is broken. It will due to my latest changes reloctate ldso. This function needs to die and its job should be done inside _dl_parse_relocation_information(). It is mostly a copy and paste job, Also PERFORM_BOOTSTRAP_GOT and PERFORM_BOOTSTRAP_RELOCATION should be fixed, they use symbols which aren't passed as arguments. Jocke
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-25Hopefully fix Laszlo and Jacobs dlopen problem.Joakim Tjernlund
2004-08-19'pagesize' was local to dl-startup.c. In ldso.c we needEric Andersen
to use '_dl_pagesize' -Erik
2004-08-19Fix dependencies.Manuel Novoa III