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