diff options
author | Andreas Krebbel <Andreas.Krebbel@de.ibm.com> | 2010-01-15 09:09:35 -0800 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2010-01-15 09:09:35 -0800 |
commit | 3a56ea26730755076cb5bc1d07727c7a4fcb8fd7 (patch) | |
tree | 37a1e680e8b1e9301e7e7493a64e776f72e7df93 /sysdeps/generic | |
parent | 5306d3613a3e71d8ede6529e858e2398223ac3da (diff) | |
download | glibc-3a56ea26730755076cb5bc1d07727c7a4fcb8fd7.tar glibc-3a56ea26730755076cb5bc1d07727c7a4fcb8fd7.tar.gz glibc-3a56ea26730755076cb5bc1d07727c7a4fcb8fd7.tar.bz2 glibc-3a56ea26730755076cb5bc1d07727c7a4fcb8fd7.zip |
ld.so: Adjust the auxv if ld.so is directly invoked.
If a binary gets invoked by passing it as argument to ld.so the stack
still holds the auxiliary vector of ld.so when entering the _start
routine of the executable. So the invocation via ld.so is not fully
transparent to the executable. This causes problems if the executable
wants to scan the auxv itself.
Diffstat (limited to 'sysdeps/generic')
-rw-r--r-- | sysdeps/generic/ldsodefs.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h index e18e60f73f..230c39a631 100644 --- a/sysdeps/generic/ldsodefs.h +++ b/sysdeps/generic/ldsodefs.h @@ -1,5 +1,5 @@ /* Run-time dynamic linker data structures for loaded ELF shared objects. - Copyright (C) 1995-2006, 2007, 2008, 2009 Free Software Foundation, Inc. + Copyright (C) 1995-2009, 2010 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -1015,7 +1015,8 @@ extern void *_dl_sysdep_read_whole_file (const char *file, size_t *sizep, extern ElfW(Addr) _dl_sysdep_start (void **start_argptr, void (*dl_main) (const ElfW(Phdr) *phdr, ElfW(Word) phnum, - ElfW(Addr) *user_entry)) + ElfW(Addr) *user_entry, + ElfW(auxv_t) *auxv)) attribute_hidden; extern void _dl_sysdep_start_cleanup (void) |