mirror of git://git.musl-libc.org/musl
adapt dynamic linker for new binutils versions that omit DT_RPATH
the new DT_RUNPATH semantics for search order are always used, and since binutils had always set both DT_RPATH and DT_RUNPATH when the latter was used, processing only DT_RPATH worked fine. however, recent binutils has stopped generating DT_RPATH when DT_RUNPATH is used, which broke support for this feature completely.
This commit is contained in:
parent
9911754b19
commit
d8dc2b7c02
|
@ -645,6 +645,8 @@ static void decode_dyn(struct dso *p)
|
|||
p->hashtab = (void *)(p->base + dyn[DT_HASH]);
|
||||
if (dyn[0]&(1<<DT_RPATH))
|
||||
p->rpath_orig = (void *)(p->strings + dyn[DT_RPATH]);
|
||||
if (dyn[0]&(1<<DT_RUNPATH))
|
||||
p->rpath_orig = (void *)(p->strings + dyn[DT_RUNPATH]);
|
||||
if (search_vec(p->dynv, dyn, DT_GNU_HASH))
|
||||
p->ghashtab = (void *)(p->base + *dyn);
|
||||
if (search_vec(p->dynv, dyn, DT_VERSYM))
|
||||
|
|
Loading…
Reference in New Issue