mirror of
https://github.com/fluencelabs/musl
synced 2025-04-25 15:22:15 +00:00
clean up search_vec usage for vdso
This commit is contained in:
parent
08b3c71410
commit
dbcb3ad925
@ -613,6 +613,7 @@ void *__dynlink(int argc, char **argv)
|
|||||||
struct dso *const lib = builtin_dsos+1;
|
struct dso *const lib = builtin_dsos+1;
|
||||||
struct dso *const vdso = builtin_dsos+2;
|
struct dso *const vdso = builtin_dsos+2;
|
||||||
char *env_preload=0;
|
char *env_preload=0;
|
||||||
|
size_t vdso_base;
|
||||||
|
|
||||||
/* Find aux vector just past environ[] */
|
/* Find aux vector just past environ[] */
|
||||||
for (i=argc+1; argv[i]; i++)
|
for (i=argc+1; argv[i]; i++)
|
||||||
@ -701,8 +702,7 @@ void *__dynlink(int argc, char **argv)
|
|||||||
decode_dyn(app);
|
decode_dyn(app);
|
||||||
|
|
||||||
/* Attach to vdso, if provided by the kernel */
|
/* Attach to vdso, if provided by the kernel */
|
||||||
if (search_vec(auxv, aux, AT_SYSINFO_EHDR)) {
|
if (search_vec(auxv, &vdso_base, AT_SYSINFO_EHDR)) {
|
||||||
size_t vdso_base = *aux;
|
|
||||||
ehdr = (void *)vdso_base;
|
ehdr = (void *)vdso_base;
|
||||||
phdr = (void *)(vdso_base + ehdr->e_phoff);
|
phdr = (void *)(vdso_base + ehdr->e_phoff);
|
||||||
for (i=ehdr->e_phnum; i; i--, phdr=(void *)((char *)phdr + ehdr->e_phentsize)) {
|
for (i=ehdr->e_phnum; i; i--, phdr=(void *)((char *)phdr + ehdr->e_phentsize)) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user