diff options
| author | Florian Weimer <fweimer@redhat.com> | 2018-06-06 16:02:02 +0200 |
|---|---|---|
| committer | Florian Weimer <fweimer@redhat.com> | 2019-04-15 17:39:45 +0200 |
| commit | 59c45eeb109a3e4567f2bebe3feb5330d99a392a (patch) | |
| tree | 098d597006bdc88499f913eba751b586b1ba26a4 /ChangeLog | |
| parent | ed8938f4f66e87cd805e0b1b94bab868e8ae0ea3 (diff) | |
| download | glibc-fw/bug21242.tar.xz glibc-fw/bug21242.zip | |
ld.so: Introduce delayed relocation processingfw/bug21242
This makes it possible to use IFUNC resolvers which depend
on relocations themselves, as long as these reloctions do
not depend on IFUNCs.
So far, delayed relocation processing is only implemented for
x86-64.
Diffstat (limited to 'ChangeLog')
| -rw-r--r-- | ChangeLog | 17 |
1 files changed, 17 insertions, 0 deletions
@@ -1,3 +1,20 @@ +2018-06-06 Florian Weimer <fweimer@redhat.com> + + * elf/Makefile (dl-routines): Add delayed-reloc. + * elf/rtld.c (dl_main): Call _dl_delayed_reloc_init, + _dl_delayed_reloc_apply. + * elf/dl-open.c (dl_open_worker): Likewise. + (dl_open): Call _dl_delayed_reloc_clear. + * include/link.h (struct link_map): Add l_delayed_relocations. + * sysdeps/x86_64/dl-machine.h (elf_machine_rela): Replace warning + about relocations against STT_GNU_IFUNC symbols in not-fully + relocated objects with delayed relocation recording. Delay + R_X86_64_COPY and R_X86_64_IRELATIVE relocations if necessary. + * elf/dl-delayed-reloc.c: New file. + * elf/dl-delayed-reloc.h: Likewise. + * sysdeps/generic/dl-delayed-reloc-machine.h: Likewise. + * sysdeps/x86_64/dl-delayed-reloc-machine.h: Likewise. + 2018-06-05 Florian Weimer <fweimer@redhat.com> * sysdeps/generic/ldsodefs.h (_dl_relocate_apply_relro): Declare. |
