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.
6libc.so: calloc + REL R_386_GLOB_DAT
7libc.so: free + REL R_386_GLOB_DAT
8libc.so: malloc + REL R_386_GLOB_DAT
9libc.so: realloc + REL R_386_GLOB_DAT
10libm.so: matherr + REL R_386_GLOB_DAT
11# The TLS-enabled version of these functions is interposed from libc.so.
12ld.so: _dl_signal_error + REL R_386_GLOB_DAT
13ld.so: _dl_catch_error + REL R_386_GLOB_DAT
14ld.so: _dl_signal_exception + REL R_386_GLOB_DAT
15ld.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.
18ld.so: __open ?
19ld.so: __open64 ?
20ld.so: __open_nocancel
21ld.so: __close ?
22ld.so: __close_nocancel
23ld.so: __read ?
24ld.so: __read_nocancel
25ld.so: __pread64
26ld.so: __pread64_nocancel
27ld.so: __write ?
28ld.so: __write_nocancel
29ld.so: __writev
30ld.so: __libc_lseek64
31ld.so: __mmap
32ld.so: __fstat64
33ld.so: __stat64
34ld.so: __access
35ld.so: __access_noerrno
36ld.so: __getpid
37ld.so: __getcwd
38ld.so: _exit ?
39ld.so: abort
40ld.so: _hurd_intr_rpc_mach_msg
41ld.so: __errno_location
42ld.so: _dl_init_first
43#
44# These should ideally be avoided, but is currently difficult
45libc.so: siglongjmp ?
46libc.so: longjmp ?
47# This is from lseek.c
48libc.so: __libc_lseek64 ?
49# This is through cleanup_region_start from vfprintf.c
50libc.so: _IO_funlockfile ?
51