aboutsummaryrefslogtreecommitdiff
path: root/elf/rtld.c
AgeCommit message (Collapse)AuthorFilesLines
2014-05-27Remove second argument from TLS_INIT_TP macroAndreas Schwab1-2/+2
2014-05-14Remove last use of USE___THREADAndreas Schwab1-149/+5
2014-03-13Use __ehdr_start, when available, for rtld to get its own headers.Roland McGrath1-4/+19
2014-03-122014-03-12 Paul Pluzhnikov <ppluzhnikov@google.com>Paul Pluzhnikov1-2/+3
[BZ #16381] * elf/Makefile (tests): Add tst-pie2. (tests-pie): Add tst-pie2. * elf/tst-pie2.c: New file. * elf/dl-load.c (_dl_map_object_from_fd): Assert correct l_type for ET_EXEC. * elf/rtld.c (map_doit): Load executable as lt_executable. (dl_main): Likewise.
2014-02-25BZ #16613: Support TLS in audit libraries.Carlos O'Donell1-1/+6
This commit fixes a bug where the dynamic loader would crash when loading audit libraries, via LD_AUDIT, where those libraries used TLS. The dynamic loader was not considering that the audit libraries would use TLS and failed to bump the TLS generation counter leaving TLS usage inconsistent after loading the audit libraries. https://sourceware.org/ml/libc-alpha/2014-02/msg00569.html
2014-02-10Use glibc_likely instead __builtin_expect.Ondřej Bílka1-20/+20
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.