diff --git a/src/ldso/dynlink.c b/src/ldso/dynlink.c index 7c92ef6..93595a0 100644 --- a/src/ldso/dynlink.c +++ b/src/ldso/dynlink.c @@ -281,7 +281,7 @@ static void do_relocs(struct dso *dso, size_t *rel, size_t rel_size, size_t stri } int gotplt = (type == REL_GOT || type == REL_PLT); - if (dso->rel_update_got && !gotplt) continue; + if (dso->rel_update_got && !gotplt && stride==2) continue; addend = stride>2 ? rel[2] : gotplt || type==REL_COPY ? 0