public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
* [PATCH 0/3] Full removal of libc.so/ld.so interposition (bug 25486)
@ 2020-02-15 20:18 Florian Weimer
  2020-02-15 20:18 ` [PATCH 3/3] elf: Rework exception handling in the dynamic loader [BZ #25486] Florian Weimer
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Florian Weimer @ 2020-02-15 20:18 UTC (permalink / raw)
  To: libc-alpha

Apart from malloc, the other use of symbol interposition is the ld.so
exception handling mechanism.

We can (carefully) use some form of thread-local storage in the loader
now that Hurd has THREAD_GETMEM/THREAD_SETMEM.  This leads to a nice
simplification of this code.

Tested on x86_64-linux-gnu and i686-linux-gnu.  Full
build-many-glibcs.py with the scripts/localplt.awk change is still
running.  A previous build was fine except on C-SKY, hence the second
commit in this series.

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                                  |   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

-- 
2.24.1

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2020-02-16 16:40 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-15 20:18 [PATCH 0/3] Full removal of libc.so/ld.so interposition (bug 25486) Florian Weimer
2020-02-15 20:18 ` [PATCH 3/3] elf: Rework exception handling in the dynamic loader [BZ #25486] Florian Weimer
2020-02-15 20:18 ` [PATCH 1/3] ld.so: Export tls_init_tp_called as __rtld_tls_init_tp_called Florian Weimer
2020-02-15 20:18 ` [PATCH 2/3] scripts/localplt.awk: Handle DT_JMPREL with empty PLT (for C-SKY) Florian Weimer
2020-02-16 16:40 ` [PATCH 0/3] Full removal of libc.so/ld.so interposition (bug 25486) Florian Weimer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).