Comment 10 for bug 246625

Revision history for this message
Loïc Minier (lool) wrote :

There are two different bugs; one is that hardy's libc6-xen isn't picked up anymore; that's a combination of a bunch of reasons described in bug #330039 which I'll merge with this one:
"""
First, it's not picked up automatically; ldconfig -p reports no nosegneg dirs, so it's useless; if I create a /etc/ld.so.conf.d/xen.conf with "hwcap 1 nosegneg", these dirs appear in the "ldconfig -p" output.

Second, if I check with "ldd" on random binaries, the cmov version is preferred over the xen version when both are installed; this also renders the libc6-xen useless because libc6-i686 is always installed (dep of ubuntu-minimal) right now...

Finally, AFAICT, all i386 glibc passes are built with:
libc_extra_cflags = -mno-tls-direct-seg-refs
so if you compare i686 and xen passes:
i686_extra_cflags = -march=i686 -mtune=i686 -O3
xen_extra_cflags = -march=i686 -mtune=i686 -O3 -mno-tls-direct-seg-refs

it seems to me the xen pass is entirely useless as a result.
"""

However this shouldn't ever cause any problem since the regular libc6-i686 in hardy is built with no-tls-direct-seg-refs, and hence is supposed to work in Xen; do you have libc6-i686 installed?

Another bug, is that it seems some people say the hardy kernel doesn't the nosegneg extra hwcap via vdso; I'm not sure about that, perhaps it's an issue if you don't have libc6-i686 installed indeed. In this case, the extra hwcap mapping is probably required to locate alternate libc6 binaries; that is, ldconfig needs to be told that "/nosegneg" dirs should be scanned and correspond to the first extra hwcap:
hwcap 0 nosegneg