aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2014-11-23 20:50:24 +0100
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2014-11-23 20:50:24 +0100
commite0cfa51064489fdff85953bad1e0f3c42e093662 (patch)
tree37adab9a8b8a92bb2287fae7993e729587ca0584
parent34d97d87bb1c08e34d08a9d4be24a3b1d53a4ddb (diff)
downloadglibc-e0cfa51064489fdff85953bad1e0f3c42e093662.zip
glibc-e0cfa51064489fdff85953bad1e0f3c42e093662.tar.gz
glibc-e0cfa51064489fdff85953bad1e0f3c42e093662.tar.bz2
hurd: Fix dlopening libraries from static programs
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.
-rw-r--r--ChangeLog5
-rw-r--r--sysdeps/mach/hurd/i386/init-first.c5
2 files changed, 10 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 0279091..0bde88c 100644
--- 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.
diff --git a/sysdeps/mach/hurd/i386/init-first.c b/sysdeps/mach/hurd/i386/init-first.c
index fc355ed..3bcffd9 100644
--- a/sysdeps/mach/hurd/i386/init-first.c
+++ b/sysdeps/mach/hurd/i386/init-first.c
@@ -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;