aboutsummaryrefslogtreecommitdiffstats
path: root/src/exec.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/exec.c')
-rw-r--r--src/exec.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/exec.c b/src/exec.c
index 515283b..7c8f38f 100644
--- a/src/exec.c
+++ b/src/exec.c
@@ -61,7 +61,11 @@ update_dynamic_tags (DSO *dso, GElf_Shdr *shdr, GElf_Shdr *old_shdr,
|| (dynamic_info_is_set (dso, DT_VERSYM_BIT)
&& dso->info_DT_VERSYM == old_shdr[j].sh_addr
&& old_shdr[j].sh_type == SHT_GNU_versym
- && set_dynamic (dso, DT_VERSYM, shdr[i].sh_addr, 1)))
+ && set_dynamic (dso, DT_VERSYM, shdr[i].sh_addr, 1))
+ || (dynamic_info_is_set (dso, DT_GNU_HASH_BIT)
+ && dso->info_DT_GNU_HASH == old_shdr[j].sh_addr
+ && old_shdr[j].sh_type == SHT_GNU_HASH
+ && set_dynamic (dso, DT_GNU_HASH, shdr[i].sh_addr, 1)))
return 1;
}