hurd: Fix some ld.so symbol override from libc

ld.so symbols to be overriden by libc need to be extern to really get
overriden.

	* sysdeps/mach/hurd/not-errno.h: New file.
	* sysdeps/mach/hurd/i386/localplt.data: Update accordingly.
This commit is contained in:
Samuel Thibault 2018-07-28 15:12:42 +02:00
parent 99bc624136
commit af86087f02
3 changed files with 23 additions and 1 deletions

View File

@ -2,6 +2,7 @@
* sysdeps/mach/hurd/dl-unistd.h (__access, __brk, __lseek, __read,
__sbrk): Do not set attribute_hidden.
* sysdeps/mach/hurd/not-errno.h: New file.
* sysdeps/mach/hurd/i386/ld.abilist: Update accordingly.
* sysdeps/mach/hurd/i386/localplt.data: Update accordingly.

View File

@ -33,7 +33,7 @@ ld.so: __mmap
ld.so: __fxstat64
ld.so: __xstat64
#ld.so: __access
#ld.so: __access_noerrno
ld.so: __access_noerrno
ld.so: __getpid
#ld.so: __getcwd
ld.so: __sbrk

View File

@ -0,0 +1,21 @@
/* Syscall wrapper that do not set errno. Generic version.
Copyright (C) 2017-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
/* The __access_noerrno stub mustn't be hidden in ld.so on Hurd since it needs
to be preempted by __access_noerrno from libc.so after bootstrap. */
extern __typeof (__access) __access_noerrno;