Comment 11 for bug 246625

Revision history for this message
Thomas Morgan (thomasmorgan) wrote :

A few notes from my observations and recent tests:

My tests have mostly been on intrepid so far. I believe everything I mentioned below is the same on hardy, as the compile config for glibc is the same in intrepid as noted in the previous comment. Testing hardy is still on my todo list.

At least on intrepid, libc6-i686 does /not/ appear to actually be compiled with no-tls-direct-seg-refs, only the i386 and xen variants are compiled as such. Because ubuntu-minimal depends on libc6-i686, the i386 version will always be ignored. This suggests to me that libc6-xen is still needed.

The file /etc/ld.so.conf.d/xen.conf with "hwcap 1 nosegneg" is required. In the absence of that file, ldconfig continues to use the i686 libraries.

"hwcap 1 nosegneg" is a reasonable default. The linux kernel used to use bit 0 (hwcap 0 nosegneg) and changed to bit 1 somewhere around 2.6.23.x. It might be worthwhile to include a comment in that file mentioning the need to change it to 0 for older kernels (especially with 2.6.18.8 being a favorite for use with xen). Unfortunately, ldconfig complains if both lines are in there.

To address a comment in one of the bugs marked as a duplicate to this one, both intrepid and debian lenny will choose the nosegneg libraries over another variant when /etc/ld.so.conf.d/xen.conf is configured properly.