mirror of git://sourceware.org/git/glibc.git
hurd: Fix ld.so link
Since a2e8aa0d9e
("Block signals during the initial part of dlopen") dl_open
uses sigprocmask, so we need a stub implementation.
This commit is contained in:
parent
26e14efdb8
commit
d5ed9ba29a
|
@ -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; __getcwd; __mmap;
|
__access; __getcwd; __mmap; __sigprocmask;
|
||||||
}
|
}
|
||||||
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
|
||||||
|
@ -26,7 +26,7 @@ ld {
|
||||||
__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;
|
||||||
abort;
|
abort; __sigprocmask;
|
||||||
}
|
}
|
||||||
GLIBC_2.2 {
|
GLIBC_2.2 {
|
||||||
# functions that must be shared with libc
|
# functions that must be shared with libc
|
||||||
|
|
|
@ -264,13 +264,14 @@ _dl_sysdep_start_cleanup (void)
|
||||||
__mach_port_deallocate (__mach_task_self (), __mach_task_self_);
|
__mach_port_deallocate (__mach_task_self (), __mach_task_self_);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Minimal open/close/mmap implementation sufficient for initial loading of
|
/* Minimal open/close/mmap/etc. implementation sufficient for initial loading of
|
||||||
shared libraries. These are weak definitions so that when the
|
shared libraries. These are weak definitions so that when the
|
||||||
dynamic linker re-relocates itself to be user-visible (for -ldl),
|
dynamic linker re-relocates itself to be user-visible (for -ldl),
|
||||||
it will get the user's definition (i.e. usually libc's).
|
it will get the user's definition (i.e. usually libc's).
|
||||||
|
|
||||||
They also need to be set in the ld section of sysdeps/mach/hurd/Versions, to
|
They also need to be set in the libc and ld section of
|
||||||
be overridable, and in libc.abilist and ld.abilist to be checked. */
|
sysdeps/mach/hurd/Versions, to be overridable, and in libc.abilist and
|
||||||
|
ld.abilist to be checked. */
|
||||||
|
|
||||||
/* This macro checks that the function does not get renamed to be hidden: we do
|
/* This macro checks that the function does not get renamed to be hidden: we do
|
||||||
need these to be overridable by libc's. */
|
need these to be overridable by libc's. */
|
||||||
|
@ -674,6 +675,14 @@ strong_alias (abort, __GI___chk_fail)
|
||||||
strong_alias (abort, __GI___fortify_fail)
|
strong_alias (abort, __GI___fortify_fail)
|
||||||
strong_alias (abort, __GI___assert_fail)
|
strong_alias (abort, __GI___assert_fail)
|
||||||
strong_alias (abort, __GI___assert_perror_fail)
|
strong_alias (abort, __GI___assert_perror_fail)
|
||||||
|
|
||||||
|
check_no_hidden(__sigprocmask);
|
||||||
|
int weak_function
|
||||||
|
__sigprocmask (int how, const sigset_t *set, sigset_t *oset)
|
||||||
|
{
|
||||||
|
/* We do not have signals yet at this stage. */
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
/* This function is called by interruptible RPC stubs. For initial
|
/* This function is called by interruptible RPC stubs. For initial
|
||||||
dynamic linking, just use the normal mach_msg. Since this defn is
|
dynamic linking, just use the normal mach_msg. Since this defn is
|
||||||
|
|
|
@ -8,6 +8,7 @@ GLIBC_2.2.6 __open F
|
||||||
GLIBC_2.2.6 __open64 F
|
GLIBC_2.2.6 __open64 F
|
||||||
GLIBC_2.2.6 __read F
|
GLIBC_2.2.6 __read F
|
||||||
GLIBC_2.2.6 __sbrk F
|
GLIBC_2.2.6 __sbrk F
|
||||||
|
GLIBC_2.2.6 __sigprocmask F
|
||||||
GLIBC_2.2.6 __strtoul_internal F
|
GLIBC_2.2.6 __strtoul_internal F
|
||||||
GLIBC_2.2.6 __write F
|
GLIBC_2.2.6 __write F
|
||||||
GLIBC_2.2.6 __writev F
|
GLIBC_2.2.6 __writev F
|
||||||
|
|
|
@ -426,6 +426,7 @@ GLIBC_2.2.6 __signbit F
|
||||||
GLIBC_2.2.6 __signbitf F
|
GLIBC_2.2.6 __signbitf F
|
||||||
GLIBC_2.2.6 __signbitl F
|
GLIBC_2.2.6 __signbitl F
|
||||||
GLIBC_2.2.6 __sigpause F
|
GLIBC_2.2.6 __sigpause F
|
||||||
|
GLIBC_2.2.6 __sigprocmask F
|
||||||
GLIBC_2.2.6 __sigsetjmp F
|
GLIBC_2.2.6 __sigsetjmp F
|
||||||
GLIBC_2.2.6 __sigsuspend F
|
GLIBC_2.2.6 __sigsuspend F
|
||||||
GLIBC_2.2.6 __stpcpy F
|
GLIBC_2.2.6 __stpcpy F
|
||||||
|
|
|
@ -40,6 +40,7 @@ ld.so: __sbrk
|
||||||
ld.so: __strtoul_internal
|
ld.so: __strtoul_internal
|
||||||
#ld.so: _exit
|
#ld.so: _exit
|
||||||
ld.so: abort
|
ld.so: abort
|
||||||
|
ld.so: __sigprocmask
|
||||||
ld.so: _hurd_intr_rpc_mach_msg
|
ld.so: _hurd_intr_rpc_mach_msg
|
||||||
ld.so: __errno_location
|
ld.so: __errno_location
|
||||||
# rtld_hidden is currently disabled to avoid having to special-case the
|
# rtld_hidden is currently disabled to avoid having to special-case the
|
||||||
|
|
Loading…
Reference in New Issue