]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
hurd: Fix ld.so link
authorSamuel Thibault <samuel.thibault@ens-lyon.org>
Sun, 1 Dec 2019 14:58:25 +0000 (14:58 +0000)
committerSamuel Thibault <samuel.thibault@ens-lyon.org>
Sun, 1 Dec 2019 16:17:22 +0000 (16:17 +0000)
Since a2e8aa0d9ea6 ("Block signals during the initial part of dlopen") dl_open
uses sigprocmask, so we need a stub implementation.

sysdeps/mach/hurd/Versions
sysdeps/mach/hurd/dl-sysdep.c
sysdeps/mach/hurd/i386/ld.abilist
sysdeps/mach/hurd/i386/libc.abilist
sysdeps/mach/hurd/i386/localplt.data

index f69d5fef671869e06ceb8fa6b02b59f78271775c..cd148c820f580fb9410dc1638a179b66fd0acfdb 100644 (file)
@@ -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
index 719d603f446aaa7f7b477b0cf8ab5d6260a5b15a..fcbbe6a43a5490ae5e6aba393e9812420f0776ab 100644 (file)
@@ -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
index c76b913486acf6d8879d5ff1ddcdd3a3e9395543..09ff013c1fdf4f7b33b54979db8594215fc0d19a 100644 (file)
@@ -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
index 7c2cb2b05a788695b12f430b606d9440ed304bbc..54270e4ce253904a6ca485033f0da74f25d8c6f1 100644 (file)
@@ -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
index a5b5241b84812425176778c4166864f0db83d44b..1aef944337c8d44a0c54cda2f22ca399ffb7d1c0 100644 (file)
@@ -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