This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] ld.so: Adjust the auxv if ld.so is directly invoked


Hello!

On Wed, Jan 13, 2010 at 11:21:39AM +0100, Andreas Krebbel wrote:
> The attached patch adds a new parameter to dl_main which holds a
> pointer to the auxv on the stack.  That way it is possible to rescan
> the vector and adjust several values in dl_main.

> 2010-01-13  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
> 
> 	* elf/dl-sysdep.c (_dl_sysdep_start): Added the auxv parameter to
> 	dl_main.
> 	* elf/dl-open.c (_dl_sysdep_start): Likewise..
> 	* sysdeps/generic/ldsodefs.h (_dl_sysdep_start): Likewise.
> 	* elf/rtld.c (dl_main): Added new parameter auxv.  Adjust the
> 	AT_PHDR, AT_PHNUM and AT_ENTRY fields if the ld.so is directly
> 	started.

This was committed (and I agree with that patch's idea), but there is a
gotcha: not all supported architectures of glibc have an auxv.

There is the HAVE_AUX_VECTOR conditional -- but this isn't used in all
applicable places, I'm afraid.

Would the glibc maintainers rather have me send a patch (a) for
conditionalizing all auxv code on that conditional, or (b) have the
generic code cope with auxv == NULL?


Regards,
 Thomas

Attachment: signature.asc
Description: Digital signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]