[PATCH v4 0/3] Rework exception handling in the dynamic loader [BZ #25486]

Florian Weimer fweimer@redhat.com
Mon Aug 29 12:26:51 GMT 2022


This is a rebase on the current tree.  No real changed compared to the
previously posted version.  This change is a pre-requisite for moving
more loader functionality into ld.so.

Tested on x86_64-linux-gnu.

Thanks,
Florian

Florian Weimer (3):
  ld.so: Export tls_init_tp_called as __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                                  |   3 +-
 elf/Versions                                  |   8 +-
 elf/{dl-error-skeleton.c => dl-catch.c}       | 150 +++++++++---------
 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                    |  15 +-
 sysdeps/generic/localplt.data                 |   5 -
 sysdeps/mach/hurd/i386/localplt.data          |   5 -
 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/arc/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 -
 33 files changed, 108 insertions(+), 269 deletions(-)
 rename elf/{dl-error-skeleton.c => dl-catch.c} (76%)
 delete mode 100644 elf/dl-error-minimal.c
 delete mode 100644 elf/dl-error.c


base-commit: d0e357ff45a75553dee3b17ed7d303bfa544f6fe
-- 
2.37.2



More information about the Libc-alpha mailing list