diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2020-11-11 12:52:35 +0000 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2020-11-11 20:41:25 +0000 |
commit | 1ccbb9258eed0f667edf459a28ba23a805549b36 (patch) | |
tree | ad130ed6b0e7a1a1c5ee5ee87f27ed88264abf44 /sysdeps | |
parent | 9cec82de715b3ffc625a6c67d107a3fcb26af566 (diff) | |
download | glibc-1ccbb9258eed0f667edf459a28ba23a805549b36.zip glibc-1ccbb9258eed0f667edf459a28ba23a805549b36.tar.gz glibc-1ccbb9258eed0f667edf459a28ba23a805549b36.tar.bz2 |
hurd: Notify the proc server later during initialization
Notifying the proc server is an involved task, and unleashes various signal
handling etc. so we have to do this after e.g. ifunc relocations are
completed.
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/hurd/include/hurd.h | 3 | ||||
-rw-r--r-- | sysdeps/mach/hurd/i386/init-first.c | 3 |
2 files changed, 6 insertions, 0 deletions
diff --git a/sysdeps/hurd/include/hurd.h b/sysdeps/hurd/include/hurd.h index dc87717..7da9af2 100644 --- a/sysdeps/hurd/include/hurd.h +++ b/sysdeps/hurd/include/hurd.h @@ -1,6 +1,8 @@ #ifndef _HURD_H #include_next <hurd.h> +void _hurd_libc_proc_init (char **argv); + /* Like __USEPORT, but cleans fd on cancel. */ #define __USEPORT_CANCEL(which, expr) \ HURD_PORT_USE_CANCEL (&_hurd_ports[INIT_PORT_##which], (expr)) @@ -8,5 +10,6 @@ #ifndef _ISOMAC libc_hidden_proto (_hurd_exec_paths) libc_hidden_proto (_hurd_init) +libc_hidden_proto (_hurd_libc_proc_init) #endif #endif diff --git a/sysdeps/mach/hurd/i386/init-first.c b/sysdeps/mach/hurd/i386/init-first.c index 6c35dc8..a3d2fda 100644 --- a/sysdeps/mach/hurd/i386/init-first.c +++ b/sysdeps/mach/hurd/i386/init-first.c @@ -63,6 +63,9 @@ posixland_init (int argc, char **argv, char **envp) { /* Set the FPU control word to the proper default value. */ __setfpucw (__fpu_control); + + /* Now we have relocations etc. we can start signals etc. */ + _hurd_libc_proc_init (argv); } else { |