Why disable vdso by default with CONFIG_PARAVIRT?

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

 



Andi Kleen wrote:
> It needs COMPAT_VDSO
>
> [which is basically COMPAT_NO_OLD_GLIBC and imho always
> was a big mistake to have a config anyways -- one shouldn't gamble
> with binary compatibility so lightly] 
>   

It's unfortunate; there's a fundamental address space clash, and there's
no nice resolution.

Will your system boot with vdso=0 on the kernel command line? 
Presumably it will boot paravirt-native without it (since native makes
no claims on the address space), so its something you could put in your
Xen config file, no?

> Hmm, i had assumed it used the same mechanism as the CPU optimized
> libcs -- and that comes from the aux vector AT_PLATFORM.  
>   

There's some magic that involves a .note segment in the vdso itself, and
a ld.so.conf entry which maps the string in there ("nosegneg") to a
pseudo-hardware capability, and ld.so uses the result of that to look
for more places for libraries.  I don't really understand how all the
pieces fit together.

> Why does it not boot? At least in the past nosegneg was only a optimization
> to avoid some unnecessary traps to the hypervisor, but it should handle it.
> Has that changed?
>   

No, but my (very stripped down) test system has no other libraries.

    J


[Index of Archives]     [KVM Development]     [Libvirt Development]     [Libvirt Users]     [CentOS Virtualization]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux