From e0cfa51064489fdff85953bad1e0f3c42e093662 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sun, 23 Nov 2014 20:50:24 +0100 Subject: [PATCH] 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 * sysdeps/mach/hurd/i386/init-first.c (posixland_init): Call __mach_init in dlopened libc. --- ChangeLog | 5 +++++ sysdeps/mach/hurd/i386/init-first.c | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/ChangeLog b/ChangeLog index 0279091..0bde88c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2014-11-23 Samuel Thibault + + * sysdeps/mach/hurd/i386/init-first.c (posixland_init): Call + __mach_init in dlopened libc. + 2014-11-22 Mike Frysinger * 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; -- 2.7.4