diff options
author | Florian Weimer <fweimer@redhat.com> | 2023-11-27 11:28:07 +0100 |
---|---|---|
committer | Florian Weimer <fweimer@redhat.com> | 2023-11-27 11:28:07 +0100 |
commit | b893410be304ddcea0bd43f537a13e8b18d37cf2 (patch) | |
tree | 1bfcbb7155b90560620618752275a0b12e493636 /elf | |
parent | 2e0c0ff95ca0e3122eb5b906ee26a31f284ce5ab (diff) | |
download | glibc-b893410be304ddcea0bd43f537a13e8b18d37cf2.zip glibc-b893410be304ddcea0bd43f537a13e8b18d37cf2.tar.gz glibc-b893410be304ddcea0bd43f537a13e8b18d37cf2.tar.bz2 |
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 <carlos@redhat.com>
Diffstat (limited to 'elf')
-rw-r--r-- | elf/dl-reloc.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/elf/dl-reloc.c b/elf/dl-reloc.c index e5c555d..72c8586 100644 --- a/elf/dl-reloc.c +++ b/elf/dl-reloc.c @@ -205,6 +205,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; @@ -242,9 +245,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? |