aboutsummaryrefslogtreecommitdiff
path: root/elf/rtld.c
AgeCommit message (Collapse)AuthorFilesLines
2014-01-01Update copyright notices with scripts/update-copyrightsAllan McRae1-1/+1
2013-11-18Adjust AT_EXECFN when using explicit loader invocation.Paul Pluzhnikov1-0/+3
2013-11-18 Paul Pluzhnikov <ppluzhnikov@google.com> * elf/Makefile (tst-auxv): New test. * elf/tst-auxv.c: New * elf/rtld.c (dl_main): Adjust AT_EXECFN
2013-11-03Remove unused NONTLS_INIT_TP.Ondřej Bílka1-4/+0
2013-10-20Print the reason why preloading failed in do_preload()Michael Stahl1-2/+2
2013-05-29Avoid crashing in LD_DEBUG when program name is unavailableSiddhesh Poyarekar1-8/+5
Resolves: #15465 The program name may be unavailable if the user application tampers with argc and argv[]. Some parts of the dynamic linker caters for this while others don't, so this patch consolidates the check and fallback into a single macro and updates all users.
2013-03-01Fix NEED_DL_SYSINFO_DSO conditionals.Roland McGrath1-2/+2
2013-01-02Update copyright notices with scripts/update-copyrights.Joseph Myers1-1/+1
2012-10-05Set up the data structures for vDSO in libc.aH.J. Lu1-94/+2
2012-10-03Clean up conditionalize of ld.so.cache support.Roland McGrath1-1/+1
2012-09-28Define VERSYMIDX/VALIDX/ADDRIDX in ldsodefs.hH.J. Lu1-9/+0
2012-09-19rtld: limit self loading check to normal mode onlyDmitry V. Levin1-1/+2
Commit glibc-2.14~10 disallowed rtld self loading to avoid a segfault that used to happen when rtld was loading itself in normal mode. Unfortunately, that commit disallowed all modes of self loading, including those that used to work before. This change limits the check for self loading to normal mode only, so that instruments like ldd could handle rtld properly.
2012-07-30Fix lots of bitrot for stub configurations.Roland McGrath1-0/+2
2012-07-27Add SystemTap static probes to the runtime linker. [BZ #14298]Gary Benson1-0/+3
2012-06-22Fix invalid memory access in do_lookup_x.Andreas Schwab1-0/+2
[BZ #13579] Do not free l_initfini and allow it to be reused on subsequent dl_open calls for the same library. This fixes the invalid memory access in do_lookup_x when the previously free'd l_initfini was accessed through l_searchlist when a library had been opened for the second time.
2012-05-14Use _dl_fatal_printf instead of a private variant.Roland McGrath1-1/+1
2012-04-11New ld.so argument --inhibit-ldcache to disable ld.so.cache lookupSiddhesh Poyarekar1-0/+9
It may sometimes be desirable to make the dynamic linker only pick up libraries from the library path and rpath and not look at the ld.so.cache that ldconfig generates. An example of such a use case is the glibc testsuite where the dynamic linker must not be influenced by any external paths or caches. This change adds a new option --inhibit-ldcache that when used, tells the dynamic linker to not use ld.so.cache even if it is available.
2012-04-05Fix DL_DEBUG_UNUSED to elide the VDSO and handle PLT references properly.David S. Miller1-1/+14
* elf/rtld.c (dl_main): If DL_DEBUG_UNUSED is enabled, turn off lazy binding. * elf/dl-lookup (_dl_lookup_symbol_x): If DL_DEBUG_UNUSED, ignore undefined symbol errors. * elf/rtlc.c (dl_main): Skip VDSO when checking for unused DT_NEEDED entries.
2012-03-20Move stdio-common/_itoa.h to sysdeps/genericH.J. Lu1-1/+1
2012-02-29Always set l_used for vDSO.Marek Polacek1-1/+4
2012-02-09Replace FSF snail mail address with URLs.Paul Eggert1-3/+2
2011-10-05Don't call ifunc functions in trace modeAndreas Schwab1-5/+7
2011-09-14Also relocate in dependency order when doing symbol dependency testingAndreas Schwab1-7/+4
2011-09-13Only use USE___THREAD when definedAndreas Schwab1-2/+12
2011-09-12Revert "Remove last use of USE___THREAD"Ulrich Drepper1-3/+135
This reverts commit de82006d43e198fd162807c9adc720c7ebd728a3. Conflicts: ChangeLog
2011-09-12Remove last use of USE___THREADAndreas Schwab1-135/+3
2011-09-10Simplify malloc initializationUlrich Drepper1-0/+1
Singificantly reduce the code needed at malloc initialization. In the process getpagesize is simplified by always initializing GLRO(dl_pagesize).
2011-08-30Relocate objects in dependency orderAndreas Schwab1-8/+4
2011-08-16Improve printing of lookup scopesUlrich Drepper1-1/+1
The scope of a new object should be printed earlier and when the scope of an already loaded object is extended only the changes should be printed.
2011-08-14Warning patrol.Roland McGrath1-1/+1
2011-08-13Implement LD_DEBUG=scopesUlrich Drepper1-2/+14
2011-05-30Handle DSOs without any dependency in ld.soUlrich Drepper1-1/+0
2011-05-30One more thinko in CLUlrich Drepper1-0/+1
2011-05-30Prevent loader from loading itselfUlrich Drepper1-0/+8
2011-02-20Move setting variable in relro data earlier in ld.so.Andreas Schwab1-4/+7
2010-12-19Make PowerPC64 default to nonexecutable stackRyan S. Arnold1-2/+4
2010-10-26Fix assertion in ld.so, introduced by delayed adding to global list.Ulrich Drepper1-1/+1
2010-10-26Fix concurrency problem between dl_open and dl_iterate_phdrAndreas Krebbel1-1/+8
2010-10-24Require suid bit on audit objects in privileged programsAndreas Schwab1-9/+7
2010-09-15Don't try to free rpath strings allocated during startupAndreas Schwab1-0/+4
2010-05-03Don't deadlock in __dl_iterate_phdr while (un)loading objects.Andreas Schwab1-0/+1
2010-04-05elf/rtld.c (dl_main) [HAVE_AUX_VECTOR]: Add a cast.Roland McGrath1-1/+1
2010-03-29Handle platforms without aux vectorThomas Schwinge1-3/+3
2010-01-15ld.so: Adjust the auxv if ld.so is directly invoked.Andreas Krebbel1-11/+30
If a binary gets invoked by passing it as argument to ld.so the stack still holds the auxiliary vector of ld.so when entering the _start routine of the executable. So the invocation via ld.so is not fully transparent to the executable. This causes problems if the executable wants to scan the auxv itself.
2009-07-09Implement STB_GNU_UNIQUE handling.Ulrich Drepper1-1/+6
Some symbols have to be identified process-wide by their name. This is particularly important for some C++ features (e.g., class local static data and static variables in inline functions). This cannot completely be implemented with ELF functionality so far. The STB_GNU_UNIQUE binding helps by ensuring the dynamic linker will always use the same definition for all symbols with the same name and this binding.
2009-04-172009-04-16 Samuel Thibault <samuel.thibault@ens-lyon.org>Roland McGrath1-9/+7
* elf/rtld.c (dl_main): Really call _dl_sysdep_start_cleanup after all calls to _dl_relocate_object.
2009-04-01* elf/dl-open.c: Keep track of used name spaces and only iterate overcvs/fedora-glibc-20090401T0935Ulrich Drepper1-2/+3
those which are used. * elf/dl-addr.c: Likewise. * elf/dl-caller.c: Likewise. * elf/dl-fini.c: Likewise. * elf/dl-iteratephdr.c: Likewise. * elf/dl-libc.c: Likewise. * elf/dl-load.c: Likewise. * elf/dl-support.c: Likewise. * elf/dl-sym.c: Likewise. * elf/rtld.c: Likewise. * sysdeps/generic/ldsodefs.h: Likewise.
2009-03-31* elf/dl-load.c: Remove support for systems without MAP_ANON.Ulrich Drepper1-7/+1
* elf/dl-minimal.c: Likewise. * elf/dl-misc.c: Likewise. * elf/rtld.c: Likewise. * sysdeps/generic/ldsodefs.h: Likewise.
2009-03-16[BZ #9733]Ulrich Drepper1-5/+7
* elf/dl-load.c (_dl_map_object_from_fd): Only call audit hooks if we are not loading a new audit library. * elf/dl-reloc (_dl_relocate_object): Third parameter is now a bitmask. Only use profiling trampoline for auditing if we are not relocating an audit library. * elf/dl-open.c (dl_open_worker): Adjust _dl_relocate_object call. * elf/rtld.c: Likewise. * sysdeps/generic/ldsodefs.h: Adjust _dl_relocate_object prototype.
2009-03-16* elf/rtld.c (dl_main): Extend help message for --audit option.Ulrich Drepper1-1/+2
2009-01-11* sysdeps/generic/dl-osinfo.h (_dl_setup_stack_chk_guard): TakeUlrich Drepper1-9/+9
one parameter. If non-NULL use it to initialize return value. (_dl_setup_pointer_guard): New function. * sysdeps/unix/sysv/linux/dl-osinfo.h: Likewise. * sysdeps/generic/ldsodefs.h: Declare _dl_random. * elf/rtld.c (security_init): Pass _dl_random to _dl_setup_stack_chk_guard. Call _dl_setup_pointer_guard to initialize pointer_chk_guard. * elf/dl-sysdep.c (_dl_random): New variable. (_dl_sysdep_start): Handle AT_RANDOM. (_dl_show_auxv): Likewise. * elf/dl-support.c (_dl_random): New variable. (_dl_aux_init): Handle AT_RANDOM. * csu/libc-start.c [!SHARED] (libc_start_main): Pass _dl_random to _dl_setup_stack_chk_guard. * elf/elf.h (AT_RANDOM): Define AT_BASE_PLATFORM and AT_RANDOM.