diff options
author | Florian Weimer <fweimer@redhat.com> | 2019-10-29 12:23:48 +0100 |
---|---|---|
committer | Florian Weimer <fweimer@redhat.com> | 2019-10-29 12:23:48 +0100 |
commit | 10c5d5518cd6a90f8e541194889a38061acc7951 (patch) | |
tree | 802608066907d99752e54765b62f76ad001f884f /elf/dl-reloc.c | |
parent | aae3acbaa7cf9ebba084bc4ae0f2c56bad425b89 (diff) | |
download | glibc-fw/elf-fixups.tar.gz glibc-fw/elf-fixups.tar.xz glibc-fw/elf-fixups.zip |
Introduce DL_LOOKUP_FOR_RELOCATE flag for _dl_lookup_symbol_x fw/elf-fixups
This will allow changes in dependency processing during non-lazy binding, for more precise processing of NODELETE objects: During initial relocation in dlopen, the fate of NODELETE objects is still unclear, so objects which are depended upon by NODELETE objects cannot immediately be marked as NODELETE.
Diffstat (limited to 'elf/dl-reloc.c')
-rw-r--r-- | elf/dl-reloc.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/elf/dl-reloc.c b/elf/dl-reloc.c index 725a074a79..7f201fe184 100644 --- a/elf/dl-reloc.c +++ b/elf/dl-reloc.c @@ -244,7 +244,8 @@ _dl_relocate_object (struct link_map *l, struct r_scope_elem *scope[], v = (version); \ _lr = _dl_lookup_symbol_x (strtab + (*ref)->st_name, l, (ref), \ scope, v, _tc, \ - DL_LOOKUP_ADD_DEPENDENCY, NULL); \ + DL_LOOKUP_ADD_DEPENDENCY \ + | DL_LOOKUP_FOR_RELOCATE, NULL); \ l->l_lookup_cache.ret = (*ref); \ l->l_lookup_cache.value = _lr; })) \ : l) |