diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/ldso/dynlink.c | 10 | 
1 files changed, 5 insertions, 5 deletions
diff --git a/src/ldso/dynlink.c b/src/ldso/dynlink.c index 2f151c22..7058bf61 100644 --- a/src/ldso/dynlink.c +++ b/src/ldso/dynlink.c @@ -301,10 +301,10 @@ static void reclaim(struct dso *dso, size_t start, size_t end)  static void reclaim_gaps(struct dso *dso)  { -	Phdr *ph; -	size_t phcnt; +	Phdr *ph = dso->phdr; +	size_t phcnt = dso->phnum; -	for (phcnt = dso->phnum, ph = dso->phdr; phcnt--; ph=(void *)((char *)ph+dso->phentsize)) { +	for (; phcnt--; ph=(void *)((char *)ph+dso->phentsize)) {  		if (ph->p_type!=PT_LOAD) continue;  		if ((ph->p_flags&(PF_R|PF_W))!=(PF_R|PF_W)) continue;  		reclaim(dso, ph->p_vaddr & -PAGE_SIZE, ph->p_vaddr); @@ -351,9 +351,9 @@ static void *map_library(int fd, struct dso *dso)  		ph = ph0 = (void *)((char *)buf + eh->e_phoff);  	}  	for (i=eh->e_phnum; i; i--, ph=(void *)((char *)ph+eh->e_phentsize)) { -		if (ph->p_type == PT_DYNAMIC) +		if (ph->p_type == PT_DYNAMIC) {  			dyn = ph->p_vaddr; -		else if (ph->p_type == PT_TLS) { +		} else if (ph->p_type == PT_TLS) {  			tls_image = ph->p_vaddr;  			dso->tls_align = ph->p_align;  			dso->tls_len = ph->p_filesz;  | 
