mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-24 10:22:41 +08:00
hurd: Fix ld.so __getcwd override from libc
ld.so symbols to be overriden by libc need to be extern to really get overriden. __getcwd happens to have never been exposed, putting it to GLIBC_PRIVATE.
This commit is contained in:
parent
892badc9bb
commit
db25266c92
@ -75,7 +75,8 @@ extern int __lchown (const char *__file, __uid_t __owner,
|
||||
__gid_t __group);
|
||||
extern int __chdir (const char *__path) attribute_hidden;
|
||||
extern int __fchdir (int __fd) attribute_hidden;
|
||||
extern char *__getcwd (char *__buf, size_t __size) attribute_hidden;
|
||||
extern char *__getcwd (char *__buf, size_t __size);
|
||||
libc_hidden_proto (__getcwd)
|
||||
extern int __rmdir (const char *__path) attribute_hidden;
|
||||
extern int __execvpe (const char *file, char *const argv[],
|
||||
char *const envp[]) attribute_hidden;
|
||||
|
@ -32,6 +32,7 @@ __getcwd (char *buf, size_t size)
|
||||
__set_errno (ENOSYS);
|
||||
return NULL;
|
||||
}
|
||||
libc_hidden_def (__getcwd)
|
||||
weak_alias (__getcwd, getcwd)
|
||||
|
||||
stub_warning (__getcwd)
|
||||
|
@ -1,7 +1,7 @@
|
||||
libc {
|
||||
GLIBC_2.0 {
|
||||
# functions with a weak definition in the dynamic linker
|
||||
__access; __getcwd; __mmap;
|
||||
__access; __mmap;
|
||||
}
|
||||
GLIBC_2.2.6 {
|
||||
# functions with a weak definition in the dynamic linker
|
||||
@ -10,7 +10,7 @@ libc {
|
||||
GLIBC_PRIVATE {
|
||||
# Functions shared with the dynamic linker
|
||||
__access_noerrno; __libc_read; __libc_write; __libc_lseek64;
|
||||
__libc_lock_self0; __sigprocmask;
|
||||
__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; __getcwd; __getpid;
|
||||
__access; __close; __getpid;
|
||||
__mmap; __open; __read; __sbrk; __strtoul_internal;
|
||||
__write; __writev; __xstat64; __fxstat64;
|
||||
_exit; _hurd_intr_rpc_mach_msg;
|
||||
@ -41,6 +41,6 @@ ld {
|
||||
|
||||
# functions that must be shared with libc
|
||||
__access_noerrno; __libc_read; __libc_write; __libc_lseek64;
|
||||
__libc_lock_self0; __sigprocmask;
|
||||
__libc_lock_self0; __sigprocmask; __getcwd;
|
||||
}
|
||||
}
|
||||
|
@ -306,4 +306,5 @@ __getcwd (char *buf, size_t size)
|
||||
buf, size));
|
||||
return cwd;
|
||||
}
|
||||
libc_hidden_def (__getcwd)
|
||||
weak_alias (__getcwd, getcwd)
|
||||
|
@ -35,7 +35,7 @@ ld.so: __xstat64
|
||||
#ld.so: __access
|
||||
ld.so: __access_noerrno
|
||||
ld.so: __getpid
|
||||
#ld.so: __getcwd
|
||||
ld.so: __getcwd
|
||||
ld.so: __sbrk
|
||||
ld.so: __strtoul_internal
|
||||
#ld.so: _exit
|
||||
|
@ -531,5 +531,6 @@ __getcwd (char *buf, size_t size)
|
||||
}
|
||||
|
||||
#if defined _LIBC && !defined __getcwd
|
||||
libc_hidden_def (__getcwd)
|
||||
weak_alias (__getcwd, getcwd)
|
||||
#endif
|
||||
|
@ -127,6 +127,7 @@ __getcwd (char *buf, size_t size)
|
||||
|
||||
return NULL;
|
||||
}
|
||||
libc_hidden_def (__getcwd)
|
||||
weak_alias (__getcwd, getcwd)
|
||||
|
||||
/* Get the code for the generic version. */
|
||||
|
Loading…
Reference in New Issue
Block a user