1 # See scripts/check-localplt.awk for how this file is processed.
2 # PLT use is required for the malloc family and for matherr because
3 # users can define their own functions and have library internals call them.
4 # Linker in binutils 2.26 and newer consolidates R_X86_64_JUMP_SLOT
5 # relocation with R_386_GLOB_DAT relocation against the same symbol.
6 libc.so: calloc + REL R_386_GLOB_DAT
7 libc.so: free + REL R_386_GLOB_DAT
8 libc.so: malloc + REL R_386_GLOB_DAT
9 libc.so: realloc + REL R_386_GLOB_DAT
10 libm.so: matherr + REL R_386_GLOB_DAT
11 # The TLS-enabled version of these functions is interposed from libc.so.
12 ld.so: _dl_signal_error + REL R_386_GLOB_DAT
13 ld.so: _dl_catch_error + REL R_386_GLOB_DAT
14 ld.so: _dl_signal_exception + REL R_386_GLOB_DAT
15 ld.so: _dl_catch_exception + REL R_386_GLOB_DAT
16 # The dynamic linker has its own versions of basic functions for initial loading
17 # of shared libraries. These need to be overriden by libc once loaded.
20 ld.so: __open_nocancel
22 ld.so: __close_nocancel
24 ld.so: __read_nocancel
26 ld.so: __pread64_nocancel
28 ld.so: __write_nocancel
35 ld.so: __access_noerrno
40 ld.so: _hurd_intr_rpc_mach_msg
41 ld.so: __errno_location
44 # These should ideally be avoided, but is currently difficult
47 # This is from lseek.c
48 libc.so: __libc_lseek64 ?
49 # This is through cleanup_region_start from vfprintf.c
50 libc.so: _IO_funlockfile ?