commit b893410be304ddcea0bd43f537a13e8b18d37cf2 Author: Florian Weimer Date: Mon Nov 27 11:28:07 2023 +0100 elf: In _dl_relocate_object, skip processing if object is relocated This is just a minor optimization. It also makes it more obvious that _dl_relocate_object can be called multiple times. Reviewed-by: Carlos O'Donell diff --git a/elf/dl-reloc.c b/elf/dl-reloc.c index 7a84b1fa8c3a7fdd..a80a54fb013adab5 100644 --- a/elf/dl-reloc.c +++ b/elf/dl-reloc.c @@ -165,6 +165,9 @@ void _dl_relocate_object (struct link_map *l, struct r_scope_elem *scope[], int reloc_mode, int consider_profiling) { + if (l->l_relocated) + return; + struct textrels { caddr_t start; @@ -202,9 +205,6 @@ _dl_relocate_object (struct link_map *l, struct r_scope_elem *scope[], # define consider_symbind 0 #endif - if (l->l_relocated) - return; - /* If DT_BIND_NOW is set relocate all references in this object. We do not do this if we are profiling, of course. */ // XXX Correct for auditing?