summaryrefslogtreecommitdiff
path: root/src/ldso/dynlink.c
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2012-08-25 17:31:59 -0400
committerRich Felker <dalias@aerifal.cx>2012-08-25 17:31:59 -0400
commitdbcb3ad9255c71cbfeb4e9d65d56a8f49dcda6a6 (patch)
tree9321f8514b048315e70131b3e9bd56ed96b821a3 /src/ldso/dynlink.c
parent08b3c71410e2e4dcbb32d8c6a4fb7c4a8b20ad87 (diff)
downloadmusl-dbcb3ad9255c71cbfeb4e9d65d56a8f49dcda6a6.tar.gz
musl-dbcb3ad9255c71cbfeb4e9d65d56a8f49dcda6a6.tar.bz2
musl-dbcb3ad9255c71cbfeb4e9d65d56a8f49dcda6a6.tar.xz
musl-dbcb3ad9255c71cbfeb4e9d65d56a8f49dcda6a6.zip
clean up search_vec usage for vdso
Diffstat (limited to 'src/ldso/dynlink.c')
-rw-r--r--src/ldso/dynlink.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/ldso/dynlink.c b/src/ldso/dynlink.c
index 7c1bd890..981288c3 100644
--- a/src/ldso/dynlink.c
+++ b/src/ldso/dynlink.c
@@ -613,6 +613,7 @@ void *__dynlink(int argc, char **argv)
struct dso *const lib = builtin_dsos+1;
struct dso *const vdso = builtin_dsos+2;
char *env_preload=0;
+ size_t vdso_base;
/* Find aux vector just past environ[] */
for (i=argc+1; argv[i]; i++)
@@ -701,8 +702,7 @@ void *__dynlink(int argc, char **argv)
decode_dyn(app);
/* Attach to vdso, if provided by the kernel */
- if (search_vec(auxv, aux, AT_SYSINFO_EHDR)) {
- size_t vdso_base = *aux;
+ if (search_vec(auxv, &vdso_base, AT_SYSINFO_EHDR)) {
ehdr = (void *)vdso_base;
phdr = (void *)(vdso_base + ehdr->e_phoff);
for (i=ehdr->e_phnum; i; i--, phdr=(void *)((char *)phdr + ehdr->e_phentsize)) {