diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2018-06-19 02:32:41 +0200 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2018-06-19 02:32:41 +0200 |
commit | c77e4dc0f531caa8f3302a5aa5d755efb7c5725b (patch) | |
tree | db317043f0c01bcd02adde065fd4b841389b1c0c /sysdeps/mach/hurd/i386/localplt.data | |
parent | f2857da7cdb65bfad75ee30981f5b2fde5bbb1dc (diff) | |
download | glibc-c77e4dc0f531caa8f3302a5aa5d755efb7c5725b.tar.gz glibc-c77e4dc0f531caa8f3302a5aa5d755efb7c5725b.tar.xz glibc-c77e4dc0f531caa8f3302a5aa5d755efb7c5725b.zip |
hurd: Fix "Missing required PLT reference"
* sysdeps/mach/hurd/localplt.data: Move to... * sysdeps/mach/hurd/i386/localplt.data: new file. Add + REL R_386_GLOB_DAT like on Linux i386.
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..e0745edac9 --- /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 ? |