tech-userlevel archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Proper interface for finding the ELF auxilary vector



On Thu, Feb 16, 2012 at 10:22:50AM +0100, Martin Husemann wrote:
> On Wed, Feb 15, 2012 at 12:07:08AM +0100, Joerg Sonnenberger wrote:
> > The function returns void * to allow changing the vector.
> 
>       void *_dlauxinfo(void)
> 
> Do we want to consider backward compatibility issues here, or just mandate
> that no newer libc may ever be installed without a newer ld.elf_so?
> Is it possible for __init_libc to check for the presence of the symbol
> before calling it without a serious startup slowdonw?

ld.elf_so and libc are tight together to a degree already, so that's
nothing new. E.g. the addition of TLS support also requires coordinated
changes. As such, I don't think it is desirable to complicate the libc
startup.

> I wonder if we should pass in a version number (or size value) to identify
> the requested version - we surely want old libc to work with newer ld.elf_so.
> A simple
> 
>       void *_dlauxinfo(unsigned version)
> 
> would do.
> 
> Or we could restrict ourselfs to only upward compatible changes.

Old libc works fine with newer ld.elf_so. "backwards compatible" means
that newer ld.elf_so works with older libc, not the other way around.

Joerg


Home | Main Index | Thread Index | Old Index