]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
hurd: Fix some ld.so symbol override from libc
authorSamuel Thibault <samuel.thibault@ens-lyon.org>
Sat, 28 Jul 2018 12:57:10 +0000 (14:57 +0200)
committerSamuel Thibault <samuel.thibault@ens-lyon.org>
Sat, 28 Jul 2018 12:57:10 +0000 (14:57 +0200)
ld.so symbols to be overriden by libc need to be extern to really get
overriden.

* sysdeps/mach/hurd/dl-unistd.h (__access, __brk, __lseek, __read,
__sbrk): Do not set attribute_hidden.
* sysdeps/mach/hurd/i386/ld.abilist: Update accordingly.
* sysdeps/mach/hurd/i386/localplt.data: Update accordingly.

ChangeLog
sysdeps/mach/hurd/dl-unistd.h
sysdeps/mach/hurd/i386/ld.abilist
sysdeps/mach/hurd/i386/localplt.data

index e5abf96411489fa060a8f5fb9e956529c7e80252..5885a619013fc5d1d93fd5255795995e24e19305 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2018-07-28  Samuel Thibault  <samuel.thibault@ens-lyon.org>
+
+       * sysdeps/mach/hurd/dl-unistd.h (__access, __brk, __lseek, __read,
+       __sbrk): Do not set attribute_hidden.
+       * sysdeps/mach/hurd/i386/ld.abilist: Update accordingly.
+       * sysdeps/mach/hurd/i386/localplt.data: Update accordingly.
+
 2018-07-27  Carlos O'Donell  <carlos@redhat.com>
 
        * po/uk.po: Update translations.
index 81cdd9a8c52a9db3b4201a47bede03e716a2ec88..da7f0ed18dd24de756be04a2e32699674857fdcd 100644 (file)
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-/* __close, __getcwd, __getpid, __libc_read and __libc_write can't be
-   hidden in ld.so on Hurd since they will be preempted by the ones in
-   libc.so after bootstrap.  */
-extern __typeof (__access) __access attribute_hidden;
-extern __typeof (__brk) __brk attribute_hidden;
-extern __typeof (__lseek) __lseek attribute_hidden;
+/* Most stubs mustn't be hidden in ld.so on Hurd since they need to be preempted
+   by functions from libc.so after bootstrap.  */
 extern __typeof (__profil) __profil attribute_hidden;
-extern __typeof (__read) __read attribute_hidden;
-extern __typeof (__sbrk) __sbrk attribute_hidden;
index 3a89b5a10ef74768e3dfda1960844c7ffa172412..c76b913486acf6d8879d5ff1ddcdd3a3e9395543 100644 (file)
@@ -6,6 +6,8 @@ GLIBC_2.2.6 __libc_stack_end D 0x4
 GLIBC_2.2.6 __mmap F
 GLIBC_2.2.6 __open F
 GLIBC_2.2.6 __open64 F
+GLIBC_2.2.6 __read F
+GLIBC_2.2.6 __sbrk F
 GLIBC_2.2.6 __strtoul_internal F
 GLIBC_2.2.6 __write F
 GLIBC_2.2.6 __writev F
index 69d3a2568d5edde8815574ab7b59b221f879365b..78f8c877c61faddbe5232c1bfb8e80463133534e 100644 (file)
@@ -23,10 +23,10 @@ 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: __open64
 ld.so: __close
-ld.so: __read ?
-ld.so: __write ?
+ld.so: __read
+ld.so: __write
 ld.so: __writev
 ld.so: __libc_lseek64
 ld.so: __mmap
@@ -36,7 +36,7 @@ ld.so: __xstat64
 #ld.so: __access_noerrno
 ld.so: __getpid
 #ld.so: __getcwd
-#ld.so: __sbrk
+ld.so: __sbrk
 ld.so: __strtoul_internal
 #ld.so: _exit
 ld.so: abort