hurd: Fix ld.so __access override from libc

ld.so symbols to be overriden by libc need to be extern to really get
overriden. __access happens to have never been exposed, putting it to
GLIBC_PRIVATE.
This commit is contained in:
Samuel Thibault 2019-12-01 20:52:39 +00:00
parent db25266c92
commit dd67928700
6 changed files with 10 additions and 6 deletions

View file

@ -25,7 +25,8 @@ libc_hidden_proto (tcgetpgrp)
libc_hidden_proto (readlinkat)
/* Now define the internal interfaces. */
extern int __access (const char *__name, int __type) attribute_hidden;
extern int __access (const char *__name, int __type);
libc_hidden_proto (__access)
extern int __euidaccess (const char *__name, int __type);
extern int __faccessat (int __fd, const char *__file, int __type, int __flag);
extern int __faccessat_noerrno (int __fd, const char *__file, int __type,

View file

@ -39,6 +39,7 @@ __access (const char *file, int type)
__set_errno (ENOSYS);
return -1;
}
libc_hidden_def (__access)
stub_warning (access)
weak_alias (__access, access)

View file

@ -1,7 +1,7 @@
libc {
GLIBC_2.0 {
# functions with a weak definition in the dynamic linker
__access; __mmap;
__mmap;
}
GLIBC_2.2.6 {
# functions with a weak definition in the dynamic linker
@ -9,7 +9,7 @@ libc {
}
GLIBC_PRIVATE {
# Functions shared with the dynamic linker
__access_noerrno; __libc_read; __libc_write; __libc_lseek64;
__access; __access_noerrno; __libc_read; __libc_write; __libc_lseek64;
__libc_lock_self0; __sigprocmask; __getcwd;
_dl_init_first;
@ -22,7 +22,7 @@ ld {
__hurd_threadvar_stack_mask; __hurd_threadvar_stack_offset;
# functions that must be shared with libc
__access; __close; __getpid;
__close; __getpid;
__mmap; __open; __read; __sbrk; __strtoul_internal;
__write; __writev; __xstat64; __fxstat64;
_exit; _hurd_intr_rpc_mach_msg;
@ -40,7 +40,7 @@ ld {
_dl_init_first;
# functions that must be shared with libc
__access_noerrno; __libc_read; __libc_write; __libc_lseek64;
__access; __access_noerrno; __libc_read; __libc_write; __libc_lseek64;
__libc_lock_self0; __sigprocmask; __getcwd;
}
}

View file

@ -35,4 +35,5 @@ __access (const char *file, int type)
{
return __faccessat (AT_FDCWD, file, type, 0);
}
libc_hidden_def (__access)
weak_alias (__access, access)

View file

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

View file

@ -29,4 +29,5 @@ __access (const char *file, int type)
return INLINE_SYSCALL_CALL (faccessat, AT_FDCWD, file, type);
#endif
}
libc_hidden_def (__access)
weak_alias (__access, access)