linux emulation: Preliminary support for more auxvec's [patch]
kostikbel at gmail.com
Fri Jul 11 20:14:55 UTC 2008
On Fri, Jul 11, 2008 at 09:55:36PM +0200, Marcin Cieslak wrote:
> Kostik Belousov wrote:
> >On Fri, Jul 11, 2008 at 01:43:55PM +0200, Marcin Cieslak wrote:
> >>Attached please find a simple diff to implement additional loader
> >>information (for background please see:
> >Namely, AT_EXECPATH (somewhat similar to the Solaris auxvec of the same
> >name) provides (might be relative) path for the binary being executed.
> Thank you very much.
> I have implemented the AT_PLATFORM, therefore all 2.6.16 (and later)
> i386/amd64 auxvecs are implemented, except for AT_SYSINFO and
> AT_SYSINFO_EHDR that are i386-specific and provide optional way of
> invoking linux syscalls (using so-called virtual dynamic shared object).
> I think we don't need those.
Do you know of any situation where we _must_ have those new auxvec you
> The code is completely untested on i386. My first attempts show that
> skype and acroread8 launch faster (probably due to the "hz" effect).
> The patch is here:
I only briefly looked over it.
I suggest that the new AT_COUNT requires more thinking. Look at the
src/libexec/rtld-elf/rtld.c, _rtld(), at line 338, where the auxvec is
digested by FreeBSD dynamic linker. It seems to be harmless, but at
least this is inconsistent. May be, AT_LINUX_PLATFORM etc defines
would make more sense.
Do you actually need imgp->machine member ? It seems that it is used
only inside linux_copyout_strings ?
> This was made against 7-STABLE, but there no major differences in
> -current. It is also trivial to port to 64-bit amd64 emulation.
Hmm, what are you referencing there ? I know only about one mostly
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 195 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-emulation/attachments/20080711/60ce0a7a/attachment.pgp
More information about the freebsd-emulation