aboutsummaryrefslogtreecommitdiff
path: root/elf
AgeCommit message (Collapse)Author
2010-04-05Obey LD_HWCAP_MASK in ld.so.cache lookups.roland/hwcap_maskRoland McGrath
2010-04-05elf/rtld.c (dl_main) [HAVE_AUX_VECTOR]: Add a cast.Roland McGrath
2010-04-05Fix aux cache handling in ldconfig with chroot.Ulrich Drepper
2010-03-29Handle platforms without aux vectorThomas Schwinge
2010-03-26Don't take the address of a void object.Richard Henderson
GCC 4.5 warns about "extern void _end; &end;". Use char[] instead, as that also doesn't fall foul of a target's .sdata optimizations. Signed-off-by: Richard Henderson <rth@twiddle.net>
2010-03-24Fix handling of STB_GNU_UNIQUE in LD_TRACE_PRELINKINGUlrich Drepper
2010-03-18Future safety in checking ELF header.Ulrich Drepper
If we should use further fields in the e_ident array in the ELF header of files we want zero to mean the default. Enforce zero for now so that non-optional features indicated by nonzero values are not go unnoticed when using an old dynamic linker.
2010-03-16Extended ELF ABI version handling only for Linux.Ulrich Drepper
If the OSABI is generic we should not allow the ABI version to be nonzero. Move all the new functionality into Linux-specific files.
2010-03-15Update copyright year.Ulrich Drepper
2010-03-15Implement handling of libc ABI in ELF header.Ulrich Drepper
2010-03-12Don't underestimate length of DST substitutionAndreas Schwab
2010-03-11elf.h: Add missing R_X86_64_*64 relocs.Roland McGrath
2010-03-04Define new x86-64 relocation symbolsUlrich Drepper
2010-02-28Define NT_X86_XSTATE constant for ELF core files.Roland McGrath
2010-02-24Fix comment.Ulrich Drepper
2010-02-12fix powerpc macros in tls-macros.hAlan Modra
2010-02-10Sparc STT_GNU_IFUNC supportDavid S. Miller
2010-02-10Add m68k TLS relocationsMaxim Kuvyrkov
2010-01-18Use correct type when casting d_tag.Andreas Schwab
2010-01-18Ignore negative dynamic entry types.Andreas Schwab
2010-01-15/390: Add runtime check for the highgprs kernel feature.Andreas Krebbel
2010-01-15ld.so: Adjust the auxv if ld.so is directly invoked.Andreas Krebbel
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.
2010-01-07Add new ELF constant PN_XNUM.Roland McGrath
2010-01-07Use NT_GNU_HWCAP instead of literal 2.Roland McGrath
2009-12-15Avoid ELF lookup race.Ulrich Drepper
On some architectures the update of the l_used field in the lookup functions races with setting the other bits in the bitfield. Simply avoid this and optimize use of l_used in general.
2009-11-06Fix up whitespaces.Ulrich Drepper
2009-11-06Properly handle STT_GNU_IFUNC symbols in do_sym.H.J. Lu
do_sym should use DL_FIXUP_VALUE_XXX macros to call IFUNC function. Otherwise, it won't compile on ia64. This patch fixes it and adds a test.
2009-10-30Add cast in tst-execstack to avoid warning.Ulrich Drepper
2009-10-30Uglify IFUNC tests for PPC.Alan Modra
2009-10-30Implement IFUNC for PPC.Alan Modra
2009-10-21Handle IFUNC symbols in dlsym.Andreas Schwab
2009-10-07Fix descriptor leak when calling dlopen with RTLD_NOLOADAndreas Schwab
2009-09-28Fix missing reloc dependencyUlrich Drepper
When DL_LOOKUP_ADD_DEPENDENCY was introduced a few callers of _dl_lookup_versioned_symbol were not properly adjusted. One of them survived until now.
2009-08-08Support mixed SSE/AVX audit and check AVX only once.H.J. Lu
This patch fixes mixed SSE/AVX audit and checks AVX only once in _dl_runtime_profile. When an AVX or SSE register value in pltenter is modified, we have to make sure that the SSE part value is the same in both lr_xmm and lr_vector fields so that pltexit will get the correct value from either lr_xmm or lr_vector fields. AVX-enabled pltenter should update both lr_xmm and lr_vector fields to support stacked AVX/SSE pltenter functions.
2009-08-07Fix expanding STB_GNU_UNIQUE hash table.Andreas Schwab
An invalid symbol name pointer was entered into the hash table while enlarging it.
2009-07-29Preserve SSE registers in runtime relocations on x86-64.Ulrich Drepper
SSE registers are used for passing parameters and must be preserved in runtime relocations. This is inside ld.so enforced through the tests in tst-xmmymm.sh. But the malloc routines used after startup come from libc.so and can be arbitrarily complex. It's overkill to save the SSE registers all the time because of that. These calls are rare. Instead we save them on demand. The new infrastructure put in place in this patch makes this possible and efficient.
2009-07-28Fix bookkeeping of static TLS block for TLS_TCB_AT_TP architectures.Ulrich Drepper
2009-07-27Break out _dl_scope_free into its own file.Ulrich Drepper
This reduces the coarse static callgraph that can be discovered by looking at the object files.
2009-07-27Fix STB_GNU_UNIQUE handling for > 30 unique symbols.Jakub Jelinek
There were several issues when the initial 31 entries hashtab filled up. size * 3 <= tab->n_elements is always false, table can't have more elements than its size. I assume from libiberty/hashtab.c this meant to be check for 3/4 full. Even after fixing that, _dl_higher_prime_number (31) apparently returns 31, only _dl_higher_prime_number (32) returns 61. And, size variable wasn't updated during reallocation, which means during reallocation the insertion of the new entry was done into a wrong spot. All this lead to a hang in ld.so, because a search with n_elements 31 size 31 wouldn't ever terminate.
2009-07-26Define NT_GNU_GOLD_VERSION.Ulrich Drepper
2009-07-23Minor optimization of unloading prevention patch.Ulrich Drepper
References to unique symbols from copy relocations can only come from executables which cannot be unloaded anyway. Optimize the code to set the unload flag a bit.
2009-07-23Fix comment.Ulrich Drepper
2009-07-23Some more fixes for the unique symbol handling.Ulrich Drepper
The hash value can be zero, so we need a different test for empty slots. And unify the way we prevent a DSO from being unloaded.
2009-07-23Handle unloading of DSO with a unique symbol definition.Ulrich Drepper
2009-07-16Remove warning and little optimization.Ulrich Drepper
The prototype for _dl_higher_prime_number was missing. While at it, the function is now marked with internal_function.
2009-07-15Fix build issue with modules for audit test on machines != x86-64.Ulrich Drepper
2009-07-10Add AVX support to ld.so auditing for x86-64.H.J. Lu
2009-07-10Remove do-lookup.h.Ulrich Drepper
It is not necessary/useful anymore to have the content separate from dl-lookup.c.
2009-07-09Implement STB_GNU_UNIQUE handling.Ulrich Drepper
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-07-07Define STB_GNU_UNIQUE.Ulrich Drepper