diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2018-12-27 16:03:01 +0000 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2018-12-27 16:03:01 +0000 |
commit | 14970231a38310b9561052a67b617138eeaad300 (patch) | |
tree | 35c201a651afa5d5e4fff241280081b3f88b9c2c /sysdeps/mach/hurd/i386/localplt.data | |
parent | f08c7420b5e8b017a1a47b880a62b15bdc588f4d (diff) | |
parent | 25ead03a3712d57df2208fe82f3d316eb8faeaf6 (diff) |
Merge commit 'refs/top-bases/t/extern_inline' into t/extern_inline
Diffstat (limited to 'sysdeps/mach/hurd/i386/localplt.data')
-rw-r--r-- | sysdeps/mach/hurd/i386/localplt.data | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/sysdeps/mach/hurd/i386/localplt.data b/sysdeps/mach/hurd/i386/localplt.data new file mode 100644 index 0000000000..a5b5241b84 --- /dev/null +++ b/sysdeps/mach/hurd/i386/localplt.data @@ -0,0 +1,64 @@ +# See scripts/check-localplt.awk for how this file is processed. +# PLT use is required for the malloc family and for matherr because +# users can define their own functions and have library internals call them. +# Linker in binutils 2.26 and newer consolidates R_X86_64_JUMP_SLOT +# relocation with R_386_GLOB_DAT relocation against the same symbol. +libc.so: calloc + REL R_386_GLOB_DAT +libc.so: free + REL R_386_GLOB_DAT +libc.so: malloc + REL R_386_GLOB_DAT +libc.so: memalign + REL R_386_GLOB_DAT +libc.so: realloc + REL R_386_GLOB_DAT +libm.so: matherr + REL R_386_GLOB_DAT +# The main malloc is interposed into the dynamic linker, for +# allocations after the initial link (when dlopen is used). +ld.so: malloc + REL R_386_GLOB_DAT +ld.so: calloc + REL R_386_GLOB_DAT +ld.so: realloc + REL R_386_GLOB_DAT +ld.so: free + REL R_386_GLOB_DAT +# The TLS-enabled version of these functions is interposed from libc.so. +ld.so: _dl_signal_error + REL R_386_GLOB_DAT +ld.so: _dl_catch_error + REL R_386_GLOB_DAT +ld.so: _dl_signal_exception + REL R_386_GLOB_DAT +ld.so: _dl_catch_exception + REL R_386_GLOB_DAT +# The dynamic linker has its own versions of basic functions for initial loading +# of shared libraries. These need to be overriden by libc once loaded. +ld.so: __open ? +ld.so: __open64 +ld.so: __close +ld.so: __read +ld.so: __write +ld.so: __writev +ld.so: __libc_lseek64 +ld.so: __mmap +ld.so: __fxstat64 +ld.so: __xstat64 +#ld.so: __access +ld.so: __access_noerrno +ld.so: __getpid +#ld.so: __getcwd +ld.so: __sbrk +ld.so: __strtoul_internal +#ld.so: _exit +ld.so: abort +ld.so: _hurd_intr_rpc_mach_msg +ld.so: __errno_location +# rtld_hidden is currently disabled to avoid having to special-case the +# functions above which do need a PLT. These are thus currently expected. +ld.so: _dl_allocate_tls +ld.so: _dl_allocate_tls_init +ld.so: _dl_exception_create +ld.so: _dl_exception_create_format +ld.so: _dl_exception_free +ld.so: _dl_find_dso_for_object +ld.so: _dl_init_first +ld.so: _dl_mcount +ld.so: ___tls_get_addr +ld.so: __tunable_get_val +# +# These should ideally be avoided, but is currently difficult +libc.so: siglongjmp ? +libc.so: longjmp ? +# This is from lseek.c +libc.so: __libc_lseek64 ? +# This is through cleanup_region_start from vfprintf.c +libc.so: _IO_funlockfile ? |