public inbox for glibc-cvs@sourceware.org
help / color / mirror / Atom feed
* [glibc] hurd: Fix ld.so link
@ 2019-12-01 18:52 Samuel Thibault
0 siblings, 0 replies; only message in thread
From: Samuel Thibault @ 2019-12-01 18:52 UTC (permalink / raw)
To: glibc-cvs
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=d5ed9ba29a3c818b3433a1784862494968abda45
commit d5ed9ba29a3c818b3433a1784862494968abda45
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date: Sun Dec 1 14:58:25 2019 +0000
hurd: Fix ld.so link
Since a2e8aa0d9ea6 ("Block signals during the initial part of dlopen") dl_open
uses sigprocmask, so we need a stub implementation.
Diff:
---
sysdeps/mach/hurd/Versions | 4 ++--
sysdeps/mach/hurd/dl-sysdep.c | 15 ++++++++++++---
sysdeps/mach/hurd/i386/ld.abilist | 1 +
sysdeps/mach/hurd/i386/libc.abilist | 1 +
sysdeps/mach/hurd/i386/localplt.data | 1 +
5 files changed, 17 insertions(+), 5 deletions(-)
diff --git a/sysdeps/mach/hurd/Versions b/sysdeps/mach/hurd/Versions
index f69d5fe..cd148c8 100644
--- a/sysdeps/mach/hurd/Versions
+++ b/sysdeps/mach/hurd/Versions
@@ -1,7 +1,7 @@
libc {
GLIBC_2.0 {
# functions with a weak definition in the dynamic linker
- __access; __getcwd; __mmap;
+ __access; __getcwd; __mmap; __sigprocmask;
}
GLIBC_2.2.6 {
# functions with a weak definition in the dynamic linker
@@ -26,7 +26,7 @@ ld {
__mmap; __open; __read; __sbrk; __strtoul_internal;
__write; __writev; __xstat64; __fxstat64;
_exit; _hurd_intr_rpc_mach_msg;
- abort;
+ abort; __sigprocmask;
}
GLIBC_2.2 {
# functions that must be shared with libc
diff --git a/sysdeps/mach/hurd/dl-sysdep.c b/sysdeps/mach/hurd/dl-sysdep.c
index 719d603..fcbbe6a 100644
--- a/sysdeps/mach/hurd/dl-sysdep.c
+++ b/sysdeps/mach/hurd/dl-sysdep.c
@@ -264,13 +264,14 @@ _dl_sysdep_start_cleanup (void)
__mach_port_deallocate (__mach_task_self (), __mach_task_self_);
}
\f
-/* 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
dynamic linker re-relocates itself to be user-visible (for -ldl),
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
- be overridable, and in libc.abilist and ld.abilist to be checked. */
+ They also need to be set in the libc and ld section of
+ 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
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___assert_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;
+}
\f
/* This function is called by interruptible RPC stubs. For initial
dynamic linking, just use the normal mach_msg. Since this defn is
diff --git a/sysdeps/mach/hurd/i386/ld.abilist b/sysdeps/mach/hurd/i386/ld.abilist
index c76b913..09ff013 100644
--- a/sysdeps/mach/hurd/i386/ld.abilist
+++ b/sysdeps/mach/hurd/i386/ld.abilist
@@ -8,6 +8,7 @@ GLIBC_2.2.6 __open F
GLIBC_2.2.6 __open64 F
GLIBC_2.2.6 __read F
GLIBC_2.2.6 __sbrk F
+GLIBC_2.2.6 __sigprocmask F
GLIBC_2.2.6 __strtoul_internal F
GLIBC_2.2.6 __write F
GLIBC_2.2.6 __writev F
diff --git a/sysdeps/mach/hurd/i386/libc.abilist b/sysdeps/mach/hurd/i386/libc.abilist
index 7c2cb2b..54270e4 100644
--- a/sysdeps/mach/hurd/i386/libc.abilist
+++ b/sysdeps/mach/hurd/i386/libc.abilist
@@ -426,6 +426,7 @@ GLIBC_2.2.6 __signbit F
GLIBC_2.2.6 __signbitf F
GLIBC_2.2.6 __signbitl F
GLIBC_2.2.6 __sigpause F
+GLIBC_2.2.6 __sigprocmask F
GLIBC_2.2.6 __sigsetjmp F
GLIBC_2.2.6 __sigsuspend F
GLIBC_2.2.6 __stpcpy F
diff --git a/sysdeps/mach/hurd/i386/localplt.data b/sysdeps/mach/hurd/i386/localplt.data
index a5b5241..1aef944 100644
--- a/sysdeps/mach/hurd/i386/localplt.data
+++ b/sysdeps/mach/hurd/i386/localplt.data
@@ -40,6 +40,7 @@ ld.so: __sbrk
ld.so: __strtoul_internal
#ld.so: _exit
ld.so: abort
+ld.so: __sigprocmask
ld.so: _hurd_intr_rpc_mach_msg
ld.so: __errno_location
# rtld_hidden is currently disabled to avoid having to special-case the
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2019-12-01 18:52 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-01 18:52 [glibc] hurd: Fix ld.so link Samuel Thibault
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).