diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/ldso/dynlink.c | 4 | 
1 files changed, 2 insertions, 2 deletions
| diff --git a/src/ldso/dynlink.c b/src/ldso/dynlink.c index 75fae762..6e79a77e 100644 --- a/src/ldso/dynlink.c +++ b/src/ldso/dynlink.c @@ -288,7 +288,7 @@ static void do_relocs(struct dso *dso, size_t *rel, size_t rel_size, size_t stri  		type = R_TYPE(rel[1]);  		if (type == REL_NONE) continue;  		sym_index = R_SYM(rel[1]); -		reloc_addr = (void *)(base + rel[0]); +		reloc_addr = laddr(dso, rel[0]);  		if (sym_index) {  			sym = syms + sym_index;  			name = strings + sym->st_name; @@ -322,7 +322,7 @@ static void do_relocs(struct dso *dso, size_t *rel, size_t rel_size, size_t stri  			addend = *reloc_addr;  		} -		sym_val = def.sym ? (size_t)def.dso->base+def.sym->st_value : 0; +		sym_val = def.sym ? (size_t)laddr(def.dso, def.sym->st_value) : 0;  		tls_val = def.sym ? def.sym->st_value : 0;  		switch(type) { | 
