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 | |
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.
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | sysdeps/mach/hurd/i386/localplt.data (renamed from sysdeps/mach/hurd/localplt.data) | 30 |
2 files changed, 22 insertions, 14 deletions
diff --git a/ChangeLog b/ChangeLog index fd6e171be2..e83db88929 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2018-06-18 Samuel Thibault <samuel.thibault@ens-lyon.org> + + * 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. + 2018-06-18 Joseph Myers <joseph@codesourcery.com> * sysdeps/unix/sysv/linux/alpha/bits/shm.h [__USE_MISC] diff --git a/sysdeps/mach/hurd/localplt.data b/sysdeps/mach/hurd/i386/localplt.data index a1f1ae626a..e0745edac9 100644 --- a/sysdeps/mach/hurd/localplt.data +++ b/sysdeps/mach/hurd/i386/localplt.data @@ -1,23 +1,25 @@ # 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. -libc.so: calloc -libc.so: free -libc.so: malloc -libc.so: memalign -libc.so: realloc -libm.so: matherr +# 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 -ld.so: calloc -ld.so: realloc -ld.so: free +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 -ld.so: _dl_catch_error -ld.so: _dl_signal_exception -ld.so: _dl_catch_exception +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 ? |