[PATCH v3 4/9] rtld: Move call_init_paths after _dl_process_pt_gnu_property

Adhemerval Zanella adhemerval.zanella@linaro.org
Mon Sep 30 20:08:26 GMT 2024


To allow the loader malloc behavior to be changed by the gnu attribute.
It would allow the pages allocated to be memory sealed if the loader
if built with memory sealing.

Checked on x86_64-linux-gnu.
---
 elf/rtld.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/elf/rtld.c b/elf/rtld.c
index 8dfa089f83..0f4b3e9a43 100644
--- a/elf/rtld.c
+++ b/elf/rtld.c
@@ -1708,10 +1708,6 @@ dl_main (const ElfW(Phdr) *phdr,
   /* With vDSO setup we can initialize the function pointers.  */
   setup_vdso_pointers ();
 
-  /* Initialize the data structures for the search paths for shared
-     objects.  */
-  call_init_paths (&state);
-
   /* Initialize _r_debug_extended.  */
   struct r_debug *r = _dl_debug_initialize (GL(dl_rtld_map).l_addr,
 					    LM_ID_BASE);
@@ -1767,6 +1763,10 @@ dl_main (const ElfW(Phdr) *phdr,
     /* Assign a module ID.  Do this before loading any audit modules.  */
     _dl_assign_tls_modid (&GL(dl_rtld_map));
 
+  /* Initialize the data structures for the search paths for shared
+     objects.  */
+  call_init_paths (&state);
+
   audit_list_add_dynamic_tag (&state.audit_list, main_map, DT_AUDIT);
   audit_list_add_dynamic_tag (&state.audit_list, main_map, DT_DEPAUDIT);
 
-- 
2.34.1



More information about the Libc-alpha mailing list