mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-29 11:41:21 +03: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:
@ -25,7 +25,8 @@ libc_hidden_proto (tcgetpgrp)
|
|||||||
libc_hidden_proto (readlinkat)
|
libc_hidden_proto (readlinkat)
|
||||||
|
|
||||||
/* Now define the internal interfaces. */
|
/* 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 __euidaccess (const char *__name, int __type);
|
||||||
extern int __faccessat (int __fd, const char *__file, int __type, int __flag);
|
extern int __faccessat (int __fd, const char *__file, int __type, int __flag);
|
||||||
extern int __faccessat_noerrno (int __fd, const char *__file, int __type,
|
extern int __faccessat_noerrno (int __fd, const char *__file, int __type,
|
||||||
|
@ -39,6 +39,7 @@ __access (const char *file, int type)
|
|||||||
__set_errno (ENOSYS);
|
__set_errno (ENOSYS);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
libc_hidden_def (__access)
|
||||||
stub_warning (access)
|
stub_warning (access)
|
||||||
|
|
||||||
weak_alias (__access, access)
|
weak_alias (__access, access)
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
libc {
|
libc {
|
||||||
GLIBC_2.0 {
|
GLIBC_2.0 {
|
||||||
# functions with a weak definition in the dynamic linker
|
# functions with a weak definition in the dynamic linker
|
||||||
__access; __mmap;
|
__mmap;
|
||||||
}
|
}
|
||||||
GLIBC_2.2.6 {
|
GLIBC_2.2.6 {
|
||||||
# functions with a weak definition in the dynamic linker
|
# functions with a weak definition in the dynamic linker
|
||||||
@ -9,7 +9,7 @@ libc {
|
|||||||
}
|
}
|
||||||
GLIBC_PRIVATE {
|
GLIBC_PRIVATE {
|
||||||
# Functions shared with the dynamic linker
|
# 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;
|
__libc_lock_self0; __sigprocmask; __getcwd;
|
||||||
|
|
||||||
_dl_init_first;
|
_dl_init_first;
|
||||||
@ -22,7 +22,7 @@ ld {
|
|||||||
__hurd_threadvar_stack_mask; __hurd_threadvar_stack_offset;
|
__hurd_threadvar_stack_mask; __hurd_threadvar_stack_offset;
|
||||||
|
|
||||||
# functions that must be shared with libc
|
# functions that must be shared with libc
|
||||||
__access; __close; __getpid;
|
__close; __getpid;
|
||||||
__mmap; __open; __read; __sbrk; __strtoul_internal;
|
__mmap; __open; __read; __sbrk; __strtoul_internal;
|
||||||
__write; __writev; __xstat64; __fxstat64;
|
__write; __writev; __xstat64; __fxstat64;
|
||||||
_exit; _hurd_intr_rpc_mach_msg;
|
_exit; _hurd_intr_rpc_mach_msg;
|
||||||
@ -40,7 +40,7 @@ ld {
|
|||||||
_dl_init_first;
|
_dl_init_first;
|
||||||
|
|
||||||
# functions that must be shared with libc
|
# 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;
|
__libc_lock_self0; __sigprocmask; __getcwd;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -35,4 +35,5 @@ __access (const char *file, int type)
|
|||||||
{
|
{
|
||||||
return __faccessat (AT_FDCWD, file, type, 0);
|
return __faccessat (AT_FDCWD, file, type, 0);
|
||||||
}
|
}
|
||||||
|
libc_hidden_def (__access)
|
||||||
weak_alias (__access, access)
|
weak_alias (__access, access)
|
||||||
|
@ -32,7 +32,7 @@ ld.so: __libc_lseek64
|
|||||||
ld.so: __mmap
|
ld.so: __mmap
|
||||||
ld.so: __fxstat64
|
ld.so: __fxstat64
|
||||||
ld.so: __xstat64
|
ld.so: __xstat64
|
||||||
#ld.so: __access
|
ld.so: __access
|
||||||
ld.so: __access_noerrno
|
ld.so: __access_noerrno
|
||||||
ld.so: __getpid
|
ld.so: __getpid
|
||||||
ld.so: __getcwd
|
ld.so: __getcwd
|
||||||
|
@ -29,4 +29,5 @@ __access (const char *file, int type)
|
|||||||
return INLINE_SYSCALL_CALL (faccessat, AT_FDCWD, file, type);
|
return INLINE_SYSCALL_CALL (faccessat, AT_FDCWD, file, type);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
libc_hidden_def (__access)
|
||||||
weak_alias (__access, access)
|
weak_alias (__access, access)
|
||||||
|
Reference in New Issue
Block a user