Andi Kleen wrote: > This was the change which finally got my test system (with an older > SUSE 9.0 based user land to boot). With paravirt older glibc's ld.so > otherwise throws assertation failures because it somehow can't deal with > the new placement. This only happens with paravirt enabled. > > Binary compatibility is important. > So the SUSE 9 libc needs COMPAT_VDSO, or it just can't deal with the vdso moving around? Can it deal with the current kernel's mobile vdso? >> (in fact, its actually very useful so that it picks up the >> right libc with Xen-friendly TLS). >> > > AFAIK libc selection comes from the aux vector, not the vdso. No, it seems to be done by adding a .note segment to the vdso share object. Without the vdso, my Xen test system doesn't boot because it can't find the nosegneg versions of the libraries (it doesn't seem to know where to look). I'm not sure how all this stuff fits together. But the auxv is supposed to point to the vdso... J