[v2,0/3] Further interposition removals from ld.so [BZ #25486]

Message ID cover.1589215037.git.fweimer@redhat.com
Headers
Series Further interposition removals from ld.so [BZ #25486] |

Message

Florian Weimer May 11, 2020, 4:42 p.m. UTC
  This series completes the removal of symbol interposition between
ld.so and libc.so, after introducing a mechanism to handle
thread-local memory in the dynamic loader.

Florian Weimer (3):
  ld.so: Turn tls_init_tp_called into global __rtld_tls_init_tp_called
  scripts/localplt.awk: Handle DT_JMPREL with empty PLT (for C-SKY)
  elf: Rework exception handling in the dynamic loader [BZ #25486]

 elf/Makefile                                  |   6 +-
 elf/Versions                                  |   6 -
 elf/{dl-error-skeleton.c => dl-catch.c}       | 139 +++++++++---------
 elf/dl-error-minimal.c                        |  23 ---
 elf/dl-error.c                                |  27 ----
 elf/rtld.c                                    |  12 +-
 nptl/descr.h                                  |   3 +
 scripts/localplt.awk                          |  18 ++-
 sysdeps/generic/ldsodefs.h                    |  11 +-
 sysdeps/generic/localplt.data                 |   5 -
 sysdeps/mach/hurd/i386/localplt.data          |   9 +-
 sysdeps/mach/hurd/i386/tls.h                  |   3 +
 sysdeps/unix/sysv/linux/aarch64/localplt.data |   5 -
 sysdeps/unix/sysv/linux/alpha/localplt.data   |   5 -
 sysdeps/unix/sysv/linux/arm/localplt.data     |   5 -
 sysdeps/unix/sysv/linux/csky/localplt.data    |   5 -
 sysdeps/unix/sysv/linux/hppa/localplt.data    |   5 -
 sysdeps/unix/sysv/linux/i386/localplt.data    |   5 -
 sysdeps/unix/sysv/linux/ia64/localplt.data    |   5 -
 .../sysv/linux/m68k/coldfire/localplt.data    |   5 -
 .../unix/sysv/linux/m68k/m680x0/localplt.data |   5 -
 .../unix/sysv/linux/microblaze/localplt.data  |   5 -
 sysdeps/unix/sysv/linux/nios2/localplt.data   |   5 -
 .../linux/powerpc/powerpc32/fpu/localplt.data |   5 -
 .../powerpc/powerpc32/nofpu/localplt.data     |   5 -
 .../linux/powerpc/powerpc64/localplt.data     |   5 -
 sysdeps/unix/sysv/linux/riscv/localplt.data   |   5 -
 sysdeps/unix/sysv/linux/s390/localplt.data    |   5 -
 sysdeps/unix/sysv/linux/sh/localplt.data      |   5 -
 .../sysv/linux/sparc/sparc32/localplt.data    |   5 -
 .../sysv/linux/sparc/sparc64/localplt.data    |   5 -
 sysdeps/x86_64/localplt.data                  |   5 -
 32 files changed, 114 insertions(+), 248 deletions(-)
 rename elf/{dl-error-skeleton.c => dl-catch.c} (80%)
 delete mode 100644 elf/dl-error-minimal.c
 delete mode 100644 elf/dl-error.c