diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2020-11-10 23:50:04 +0000 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2020-11-11 02:35:59 +0100 |
commit | a40b18b2330026cedc07348481bf3219f668adca (patch) | |
tree | 7236699a34c56c44619681ae50349382070e0dd7 /sysdeps/mach | |
parent | 15b38ffc104a30f5c02ed33c5983923d5ceae5f8 (diff) | |
download | glibc-a40b18b2330026cedc07348481bf3219f668adca.tar.gz |
hurd: Add missing startup calls
DL_SYSDEP_INIT and DL_PLATFORM_INIT were not getting called, leading to
missing x86 platform tuning, now mandatory with 0f09154c6400
("x86: Initialize CPU info via IFUNC relocation [BZ 26203]")
Diffstat (limited to 'sysdeps/mach')
-rw-r--r-- | sysdeps/mach/hurd/dl-sysdep.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/sysdeps/mach/hurd/dl-sysdep.c b/sysdeps/mach/hurd/dl-sysdep.c index 2a9a6d12bc..5c0bb3124d 100644 --- a/sysdeps/mach/hurd/dl-sysdep.c +++ b/sysdeps/mach/hurd/dl-sysdep.c @@ -125,10 +125,26 @@ _dl_sysdep_start (void **start_argptr, else _dl_hurd_data = (void *) p; + GLRO(dl_platform) = NULL; /* Default to nothing known about the platform. */ + __libc_enable_secure = _dl_hurd_data->flags & EXEC_SECURE; __tunables_init (_environ); +#ifdef DL_SYSDEP_INIT + DL_SYSDEP_INIT; +#endif + +#ifdef SHARED +#ifdef DL_PLATFORM_INIT + DL_PLATFORM_INIT; +#endif + + /* Determine the length of the platform name. */ + if (GLRO(dl_platform) != NULL) + GLRO(dl_platformlen) = strlen (GLRO(dl_platform)); +#endif + if (_dl_hurd_data->flags & EXEC_STACK_ARGS && _dl_hurd_data->user_entry == 0) _dl_hurd_data->user_entry = (vm_address_t) ENTRY_POINT; |