linux emulation: Preliminary support for more auxvec's

Kostik Belousov kostikbel at gmail.com
Fri Jul 11 12:35:56 UTC 2008


On Fri, Jul 11, 2008 at 01:43:55PM +0200, Marcin Cieslak wrote:
> Hello,
> 
> Attached please find a simple diff to implement additional loader 
> information (for background please see: 
> http://lists.freebsd.org/pipermail/freebsd-emulation/2006-September/002591.html)
> 
> This patch creates linux_get_machine() making linux_new_uname 
> platform-independent.
> 
> AT_PLATFORM is not yet implemented, since I need to allocate a string 
> for it on the user stack. I *could* use something on the SPARE_USRSPACE, 
> but I think we got rid of all such tricks long time ago.
I think I dealt with the similar problem in the implementation of the
$ORIGIN support for the rtld, that is WIP for long time.

Namely, AT_EXECPATH (somewhat similar to the Solaris auxvec of the same
name) provides (might be relative) path for the binary being executed.

See
http://people.freebsd.org/~kib/misc/rtld-origin.1.patch

> 
> A bit better solution might be to change linux_copyout_strings to 
> allocate more space for the AT_PLATFORM (but how do I then pass the 
> pointer to the elf_linux_fixup?)
> 
> This would also mean to bring the linux_copyout_strings to i386.
> 
> What's the best way to do this?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-emulation/attachments/20080711/7e42d194/attachment.pgp


More information about the freebsd-emulation mailing list