glibc/sysdeps/unix/sysv/linux/arm/localplt.data
Florian Weimer 9e78f6f6e7 Implement _dl_catch_error, _dl_signal_error in libc.so [BZ #16628]
This change moves the main implementation of _dl_catch_error,
_dl_signal_error to libc.so, where TLS variables can be used
directly.  This removes a writable function pointer from the
rtld_global variable.

For use during initial relocation, minimal implementations of these
functions are provided in ld.so.  These are eventually interposed
by the libc.so implementations.  This is implemented by compiling
elf/dl-error-skeleton.c twice, via elf/dl-error.c and
elf/dl-error-minimal.c.

As a side effect of this change, the static version of dl-error.c
no longer includes support for the
_dl_signal_cerror/_dl_receive_error mechanism because it is only
used in ld.so.
2016-11-30 15:59:57 +01:00

22 lines
596 B
Plaintext

libc.so: calloc
libc.so: free
libc.so: malloc
libc.so: memalign
libc.so: raise
libc.so: realloc
libm.so: matherr
libpthread.so: __errno_location
libpthread.so: raise
# The dynamic loader needs __tls_get_addr for TLS, and uses __libc_memalign
# internally to allocate aligned TLS storage. The other malloc family of
# functions are expected to allow user symbol interposition.
ld.so: __tls_get_addr
ld.so: __libc_memalign
ld.so: malloc
ld.so: calloc
ld.so: realloc
ld.so: free
# The TLS-enabled version of these functions is interposed from libc.so.
ld.so: _dl_signal_error
ld.so: _dl_catch_error