Re: [glibc] hurd: Fix ld.so link

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: [glibc] hurd: Fix ld.so link

Florian Weimer-5
* Samuel Thibault:

> https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=d5ed9ba29a3c818b3433a1784862494968abda45
>
> commit d5ed9ba29a3c818b3433a1784862494968abda45
> Author: Samuel Thibault <[hidden email]>
> 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?

Thanks,
Florian

Reply | Threaded
Open this post in threaded view
|

Re: [glibc] hurd: Fix ld.so link

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 <[hidden email]>
> > 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

--
Joseph S. Myers
[hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: [glibc] hurd: Fix ld.so link

Florian Weimer-5
* 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 <[hidden email]>
>> > 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?

Thanks,
Florian

Reply | Threaded
Open this post in threaded view
|

Re: [glibc] hurd: Fix ld.so link

Samuel Thibault
Hello,

Somehow I didn't receive these mails, I don't know why.

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 <[hidden email]>
> >> > 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!
Samuel
Reply | Threaded
Open this post in threaded view
|

Re: [glibc] hurd: Fix ld.so link

Florian Weimer-5
* 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 <[hidden email]>
>> >> > 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(-)

diff --git a/sysdeps/mach/hurd/Versions b/sysdeps/mach/hurd/Versions
index 6ddd2977f6..35257a0906 100644
--- a/sysdeps/mach/hurd/Versions
+++ b/sysdeps/mach/hurd/Versions
@@ -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;
   }
 }
diff --git a/sysdeps/mach/hurd/dl-sysdep.c b/sysdeps/mach/hurd/dl-sysdep.c
index fcbbe6a43a..33fe8c3068 100644
--- a/sysdeps/mach/hurd/dl-sysdep.c
+++ b/sysdeps/mach/hurd/dl-sysdep.c
@@ -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
diff --git a/sysdeps/mach/hurd/i386/localplt.data b/sysdeps/mach/hurd/i386/localplt.data
index b89e04b24a..c1725d140f 100644
--- a/sysdeps/mach/hurd/i386/localplt.data
+++ b/sysdeps/mach/hurd/i386/localplt.data
@@ -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