about summary refs log tree commit diff
path: root/elf/tst-preload-pthread-libc.c
Commit message (Collapse)AuthorAgeFilesLines
* elf: Include libc.so.6 as main program in dependency sort (bug 20972)Florian Weimer2020-12-111-0/+36
_dl_map_object_deps always sorts the initially loaded object first during dependency sorting. This means it is relocated last in dl_open_worker. This results in crashes in IFUNC resolvers without lazy bindings if libraries are preloaded that refer to IFUNCs in libc.so.6: the resolvers are called when libc.so.6 has not been relocated yet, so references to _rtld_global_ro etc. crash. The fix is to check against the libc.so.6 link map recorded by the __libc_early_init framework, and let it participate in the dependency sort. This fixes bug 20972. Reviewed-by: Carlos O'Donell <carlos@redhat.com>