]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
hurd: Fix dlopening libraries from static programs
authorSamuel Thibault <samuel.thibault@ens-lyon.org>
Sun, 23 Nov 2014 19:50:24 +0000 (20:50 +0100)
committerSamuel Thibault <samuel.thibault@ens-lyon.org>
Sun, 23 Nov 2014 19:50:24 +0000 (20:50 +0100)
dlopening libraries from a static program would dlopen libc.so,
which thus needs its own initialization, done in posixland_init,
which was missing initializing RPCs so far.

ChangeLog:

2014-11-23  Samuel Thibault  <samuel.thibault@ens-lyon.org>

* sysdeps/mach/hurd/i386/init-first.c (posixland_init): Call
__mach_init in dlopened libc.

ChangeLog
sysdeps/mach/hurd/i386/init-first.c

index 0279091b4939e7c8a10bee53e0f2f59e048e490c..0bde88ca376119f6ec45d83de035f0a7cdcecb79 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2014-11-23  Samuel Thibault  <samuel.thibault@ens-lyon.org>
+
+       * sysdeps/mach/hurd/i386/init-first.c (posixland_init): Call
+       __mach_init in dlopened libc.
+
 2014-11-22  Mike Frysinger  <vapier@gentoo.org>
 
        * sysdeps/arm/preconfigure.ac: Delete EABI check.
index fc355ed6c3ec2244dc135a429bfc84119a9f4582..3bcffd985ff2d9d2e33261217a340a5f4709c6db 100644 (file)
@@ -72,6 +72,11 @@ posixland_init (int argc, char **argv, char **envp)
       /* Set the FPU control word to the proper default value.  */
       __setfpucw (__fpu_control);
     }
+  else
+    {
+      /* Initialize data structures so the additional libc can do RPCs.  */
+      __mach_init ();
+    }
 
   /* Save the command-line arguments.  */
   __libc_argc = argc;