We fetch __vm_page_size as the very first RPC that we do, inside __mach_init (). Propagate that to _dl_pagesize ASAP after that, before any other initialization.
In dynamic builds, this is already done immediately after __mach_init (), inside _dl_sysdep_start (). Signed-off-by: Sergey Bugaev <buga...@gmail.com> --- sysdeps/mach/hurd/init-first.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sysdeps/mach/hurd/init-first.c b/sysdeps/mach/hurd/init-first.c index 26ccd37e..22c35747 100644 --- a/sysdeps/mach/hurd/init-first.c +++ b/sysdeps/mach/hurd/init-first.c @@ -162,6 +162,10 @@ first_init (void) /* Initialize data structures so we can do RPCs. */ __mach_init (); +#ifndef SHARED + GLRO(dl_pagesize) = __vm_page_size; +#endif + #if USE_INIT1_TCBHEAD _hurd_tls_init (&__init1_tcbhead, 0); #endif -- 2.43.0