Commit Message
* Samuel Thibault:
> Florian Weimer, le mar. 17 déc. 2019 19:02:23 +0100, a ecrit:
>> * Joseph Myers:
>> > On Fri, 13 Dec 2019, Florian Weimer wrote:
>> >
>> >> * Samuel Thibault:
>> >>
>> >> > 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.
>> >>
>> >> Should we revert this change (and 892badc9bbcd4a6f8), now that dlopen no
>> >> longer calls sigprocmask?
>> >
>> > Note that right now there is a regression shown by build-many-glibcs.py
>> > for i686-gnu:
>> >
>> > Missing required PLT reference: ld.so: __sigprocmask
>> >
>> > https://sourceware.org/ml/libc-testresults/2019-q4/msg00344.html
>>
>> Yes, that's part of the motivation for my query?
>>
>> Should I just push the two reverts?
>
> Please feel free to.
Thanks. Below is what I have pushed.
Florian
8<------------------------------------------------------------------8<
Subject: hurd: Do not make sigprocmask available in ld.so
After commit f7649d5780aa4682393b9daedd653e4d9c12784c ("dlopen: Do not
block signals"), the dynamic linker no longer uses sigprocmask, which
means that it does not have to be made available explicitly on hurd.
This reverts commit 892badc9bbcd4a6f8c2eb6c8a99be3aa22517532
("hurd: Make __sigprocmask GLIBC_PRIVATE") and commit
d5ed9ba29a3c818b3433a1784862494968abda45 ("hurd: Fix ld.so link"),
but keeps the comment changes from the second commit.
-----
sysdeps/mach/hurd/Versions | 4 ++--
sysdeps/mach/hurd/dl-sysdep.c | 8 --------
sysdeps/mach/hurd/i386/localplt.data | 1 -
3 files changed, 2 insertions(+), 11 deletions(-)
@@ -10,7 +10,7 @@ libc {
GLIBC_PRIVATE {
# Functions shared with the dynamic linker
__access; __access_noerrno; __libc_read; __libc_write; __libc_lseek64;
- __libc_lock_self0; __sigprocmask; __getcwd;
+ __libc_lock_self0; __getcwd;
_dl_init_first;
__close_nocancel_nostatus;
@@ -42,6 +42,6 @@ ld {
# functions that must be shared with libc
__access; __access_noerrno; __libc_read; __libc_write; __libc_lseek64;
- __libc_lock_self0; __sigprocmask; __getcwd;
+ __libc_lock_self0; __getcwd;
}
}
@@ -675,14 +675,6 @@ 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;
-}
/* This function is called by interruptible RPC stubs. For initial
dynamic linking, just use the normal mach_msg. Since this defn is
@@ -40,7 +40,6 @@ 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