summaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/m68k/m680x0/localplt.data
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2020-02-15 14:07:49 +0100
committerFlorian Weimer <fweimer@redhat.com>2020-02-15 20:43:34 +0100
commit0552fff2977cffb5884a08b5e628fd6b08e81709 (patch)
tree10e87dbb44e512ac5746b85d9c109e2fd9ee3114 /sysdeps/unix/sysv/linux/m68k/m680x0/localplt.data
parentcecc925370ac13cb3268ad489a47acf35adb8381 (diff)
downloadglibc-fw/bug25486.tar.gz
elf: Rework exception handling in the dynamic loader [BZ #25486]fw/bug25486
The old exception handling implementation used function interposition to replace the dynamic loader implementation (no TLS support) with the libc implementation (TLS support). This results in problems if the link order between the dynamic loader and libc is reversed (bug 25486). The new implementation moves the entire implementation of the exception handling functions back into the dynamic loader, using THREAD_GETMEM and THREAD_SETMEM for thread-local data support. These depends on Hurd support for these macros, added in commit b65a82e4e757c1e6cb7073916 ("hurd: Add THREAD_GET/SETMEM/_NC"). One small obstacle is that the exception handling facilities are used before the TCB has been set up, so a check is needed if the TCB is available. If not, a regular global variable is used to store the exception handling information. Also rename dl-error.c to dl-catch.c, to avoid confusion with the dlerror function.
Diffstat (limited to 'sysdeps/unix/sysv/linux/m68k/m680x0/localplt.data')
-rw-r--r--sysdeps/unix/sysv/linux/m68k/m680x0/localplt.data5
1 files changed, 0 insertions, 5 deletions
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/localplt.data b/sysdeps/unix/sysv/linux/m68k/m680x0/localplt.data
index 843f4e25f2..d266b8f74b 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/localplt.data
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/localplt.data
@@ -6,8 +6,3 @@ libc.so: malloc
libc.so: memalign
libc.so: realloc
libm.so: matherr
-# The TLS-enabled version of these functions is interposed from libc.so.
-ld.so: _dl_signal_error
-ld.so: _dl_catch_error
-ld.so: _dl_signal_exception
-ld.so: _dl_catch_exception