This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


[Xen-bugs] [Bug 1432] New: libc6-i686 segfaults: cmov on %gs not support

To: xen-bugs@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-bugs] [Bug 1432] New: libc6-i686 segfaults: cmov on %gs not supported by Xen hypervisor
From: bugzilla-daemon@xxxxxxxxxxxxxxxxxxx
Date: Tue, 17 Mar 2009 09:56:30 -0700
Delivery-date: Tue, 17 Mar 2009 09:56:38 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-bugs-request@lists.xensource.com?subject=help>
List-id: Xen Bugzilla <xen-bugs.lists.xensource.com>
List-post: <mailto:xen-bugs@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-bugs>, <mailto:xen-bugs-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-bugs>, <mailto:xen-bugs-request@lists.xensource.com?subject=unsubscribe>
Reply-to: bugs@xxxxxxxxxxxxxxxxxx
Sender: xen-bugs-bounces@xxxxxxxxxxxxxxxxxxx

           Summary: libc6-i686 segfaults: cmov on %gs not supported by Xen
           Product: Xen
           Version: 3.0.3
          Platform: x86
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P1
         Component: Hypervisor
        AssignedTo: xen-bugs@xxxxxxxxxxxxxxxxxxx
        ReportedBy: mseaborn@xxxxxxxxxxxxxxxx

I spent some time tracking down this issue yesterday.  It has been fixed in the
Xen hypervisor, but I thought I would record it here in case other people hit
it.  It is present in the version of Xen in Debian etch.

The problem was that the hypervisor did not support the cmov instruction on the
%gs segment register used for TLS access.

This manifested itself in a segfault in readdir64_r(), with the same backtrace
as in this post:
('"hwcap 0 nosegneg" doesnt work with paravirt_ops xen as of')
The instruction that segfaulted was:
0xb7ed113c <readdir64_r+220>:   cmovne %gs:(%edx),%eax

This happened in Ubuntu's libc6 (running in a chroot on top of Debian).

This was fixed in Xen in July 2007:

We hit this because we inadvertently upgraded the kernel to a version in which
the number of the nosegneg hwcap bit had been changed from 0 to 1, which meant
that the Xen (nosegneg) version of glibc was no longer being used.

Configure bugmail: 
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

Xen-bugs mailing list

<Prev in Thread] Current Thread [Next in Thread>