mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-23 17:53:37 +08:00
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:
parent
db25266c92
commit
dd67928700
@ -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,
|
||||
|
@ -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)
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user