#
54482898 |
|
25-Jul-2016 |
Bobby Bingham <koorogi@koorogi.info> |
treat null vdso base same as missing On s390x, the kernel provides AT_SYSINFO_EHDR, but sets it to zero, if the program being run does not have a program interpreter. This causes problems when running the dynamic linker directly.
|
#
b418ea1b |
|
10-Nov-2016 |
Rich Felker <dalias@aerifal.cx> |
generalize ELF hash table types not to assume 32-bit entries alpha and s390x gratuitously use 64-bit entries (wasting 2x space and cache utilization) despite the values always being 32-bit. based on patch by Bobby Bingham, with changes suggested by Alexander Monakov to use the public Elf_Symndx type from link.h (and make it properly variable by arch) rather than adding new internal infrastructure for handling the type.
|
#
5ffe515c |
|
31-Oct-2016 |
Szabolcs Nagy <nsz@port70.net> |
fix ldso reserved library name handling If a DT_NEEDED entry was the prefix of a reserved library name (up to the first dot) then it was incorrectly treated as a libc reserved name. e.g. libp.so dependency was not loaded as it matched libpthread reserved name.
|
#
86e8cc0f |
|
31-Oct-2016 |
Szabolcs Nagy <nsz@port70.net> |
fix accidental global static pointer in ldso this was harmless as load_library is not called concurrently, but it used one word of bss.
|
#
71392a91 |
|
06-Mar-2016 |
Rich Felker <dalias@aerifal.cx> |
generalize mips-specific reloc code not to hard-code sym/type encoding this change is made in preparation for adding the mips64 port, which needs a 64-bit (and mips64-specific) form of the R_INFO macro, but it's a better abstraction anyway. based on part of the mips64 port patch by Mahesh Bodapati and Jaydeep Patil of Imagination Technologies.
|
#
c18d05f0 |
|
30-Jan-2016 |
Felix Fietkau <nbd@openwrt.org> |
ldso: fix GDB dynamic linker info on MIPS GDB is looking for a pointer to the ldso debug info in the data of the ..rld_map section. Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
#
140ad50c |
|
30-Jan-2016 |
Rich Felker <dalias@aerifal.cx> |
fix regression in dynamic-linked tls when both main app & libs have tls commit d56460c939c94a6c547abe8238f442b8de10bfbd introduced this bug by setting up the tls module chain incorrectly when the main app has tls. the singly-linked list head pointer was setup correctly, but the tail pointer was not, so the first attempt to append to the list (for a shared library with tls) would treat the list as empty and effectively removed the main app from the list. this left all tls module id numbers off-by-one. this bug did not appear in any released versions.
|
#
5552ce52 |
|
25-Jan-2016 |
Rich Felker <dalias@aerifal.cx> |
move dynamic linker to its own top-level directory, ldso this eliminates the last need for the SHARED macro to control how files in the src tree are compiled. the same code is used for both libc.a and libc.so, with additional code for the dynamic linker (from the new ldso tree) being added to libc.so but not libc.a. separate .o and .lo object files still exist for the src tree, but the only difference is that the .lo files are built as PIC. in the future, if/when we add dlopen support for static-linked programs, much of the code in dynlink.c may be moved back into the src tree, but properly factored into separate source files. in that case, the code in the ldso tree will be reduced to just the dynamic linker entry point, self-relocation, and loading of libraries needed by the main application.
|