[hurd,commited] hurd: Add missing startup calls

Message ID 20201111013641.173402-1-samuel.thibault@ens-lyon.org
State Committed, archived
Headers
Series [hurd,commited] hurd: Add missing startup calls |

Commit Message

Samuel Thibault Nov. 11, 2020, 1:36 a.m. UTC
  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]")
---
 sysdeps/mach/hurd/dl-sysdep.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)
  

Patch

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;