Jelajahi Sumber

make dynamic linker relocate the main program image last, after all libs

prior to this change, copy relocations for initialized pointer
variables would not reflect the relocated contents of the pointer.
Rich Felker 14 tahun lalu
induk
melakukan
c7debe13ee
1 mengubah file dengan 1 tambahan dan 0 penghapusan
  1. 1 0
      src/ldso/dynlink.c

+ 1 - 0
src/ldso/dynlink.c

@@ -462,6 +462,7 @@ void *__dynlink(int argc, char **argv, size_t *got)
 	load_deps(head);
 
 	make_global(head);
+	reloc_all(head->next);
 	reloc_all(head);
 
 	if (rtld_used) {