[PATCH COMMITTED 2.35, 2.36, 2.37, 2.38] elf: Move l_init_called_next to old place of l_text_end in link map

Florian Weimer fweimer@redhat.com
Mon Sep 11 08:06:45 GMT 2023


This preserves all member offsets and the GLIBC_PRIVATE ABI
for backporting.

---
 include/link.h | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/include/link.h b/include/link.h
index c6af095d87..686813f281 100644
--- a/include/link.h
+++ b/include/link.h
@@ -254,6 +254,10 @@ struct link_map
        need not be the same as l_addr.  */
     ElfW(Addr) l_map_start, l_map_end;
 
+    /* Linked list of objects in reverse ELF constructor execution
+       order.  Head of list is stored in _dl_init_called_list.  */
+    struct link_map *l_init_called_next;
+
     /* Default array for 'l_scope'.  */
     struct r_scope_elem *l_scope_mem[4];
     /* Size of array allocated for 'l_scope'.  */
@@ -276,10 +280,6 @@ struct link_map
     /* List of object in order of the init and fini calls.  */
     struct link_map **l_initfini;
 
-    /* Linked list of objects in reverse ELF constructor execution
-       order.  Head of list is stored in _dl_init_called_list.  */
-    struct link_map *l_init_called_next;
-
     /* List of the dependencies introduced through symbol binding.  */
     struct link_map_reldeps
       {

base-commit: 750f19526ae71aac801c77a3f7ef5374890c09b7



More information about the Libc-stable mailing list