RC1 TODO list for modular tree

Donnie Berkholz spyderous at gentoo.org
Tue Sep 20 10:10:02 PDT 2005


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Kevin E Martin wrote:
| Below is a list of the tasks left to do before we can cut RC1 for the
| modular tree.  If everyone could help with these tasks, I think we could
| finish RC1 for the modular tree in a few days.  Also, if there are other
| tasks that we need to complete before RC1, please add them to the list
| below.

This is a little smaller, but I would really like to see this patch
committed to fix breakage when using -fomit-frame-pointer. It's in the
'xserver' fb code already, and the bug is "fixed" (
https://bugs.freedesktop.org/show_bug.cgi?id=4269 ) so I can't put it as
a blocker.

I attached the commit mail from Billy Biggs.

Thanks,
Donnie
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)

iD8DBQFDMEJqXVaO67S1rtsRAo1UAJ46E0Ny3fjt+uAI/OyatvQFdUoORQCggTKk
63o2+FsGcDPMJga5Lkcj4H0=
=Wj/6
-----END PGP SIGNATURE-----
-------------- next part --------------
Received: from gabe.freedesktop.org ([131.252.208.82])
	by smtp.gentoo.org with esmtp (Exim 4.43)
	id 1E9OPU-0006v7-8N; Sun, 28 Aug 2005 14:45:24 +0000
Received: from gabe.freedesktop.org (localhost [127.0.0.1])
	by gabe.freedesktop.org (Postfix) with ESMTP id 3F95A9F217;
	Sun, 28 Aug 2005 07:32:04 -0700 (PDT)
X-Original-To: xserver-commit at pdx.freedesktop.org
Delivered-To: xserver-commit at pdx.freedesktop.org
Received: from gabe.freedesktop.org (localhost [127.0.0.1])
	by gabe.freedesktop.org (Postfix) with ESMTP id C1B799E9F3
	for <xserver-commit at pdx.freedesktop.org>;
	Sat, 27 Aug 2005 19:03:19 -0700 (PDT)
From: Billy Biggs <xserver-commit at pdx.freedesktop.org>
To: xserver-commit at pdx.freedesktop.org
X-Mailer: Python syncmail 1.2 <http://sf.net/projects/cvs-syncmail>
Message-Id: <20050828020319.C1B799E9F3 at gabe.freedesktop.org>
Date: Sat, 27 Aug 2005 19:03:19 -0700 (PDT)
Subject: xserver/fb fbmmx.c,1.12,1.13
X-BeenThere: xserver-commit at lists.freedesktop.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Track commits to xserver source code
	<xserver-commit.lists.freedesktop.org>
List-Unsubscribe: <http://lists.freedesktop.org/mailman/listinfo/xserver-commit>, 
	<mailto:xserver-commit-request at lists.freedesktop.org?subject=unsubscribe>
List-Archive: <http://lists.freedesktop.org/archives/xserver-commit>
List-Post: <mailto:xserver-commit at lists.freedesktop.org>
List-Help: <mailto:xserver-commit-request at lists.freedesktop.org?subject=help>
List-Subscribe: <http://lists.freedesktop.org/mailman/listinfo/xserver-commit>, 
	<mailto:xserver-commit-request at lists.freedesktop.org?subject=subscribe>
Sender: xserver-commit-bounces at lists.freedesktop.org
Errors-To: xserver-commit-bounces at lists.freedesktop.org

Committed by: vektor

Update of /cvs/xserver/xserver/fb
In directory gabe:/tmp/cvs-serv20509/fb

Modified Files:
	fbmmx.c 
Log Message:
2005-08-27  Billy Biggs  <vektor at dumbterm.net>

	* fb/fbmmx.c (detectCPUFeatures): Make the code work with
	-fomit-frame-pointer by making sure that %esp isn't modified at
	the point where we access output operands. (#4269, Patch from
	Ronald Wahl)



Index: fbmmx.c
===================================================================
RCS file: /cvs/xserver/xserver/fb/fbmmx.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -d -r1.12 -r1.13
--- fbmmx.c	19 Aug 2005 02:08:28 -0000	1.12
+++ fbmmx.c	28 Aug 2005 02:03:17 -0000	1.13
@@ -2487,28 +2487,38 @@
     vendor[0] = 0;
     vendor[12] = 0;
     /* see p. 118 of amd64 instruction set manual Vol3 */
-    __asm__ ("push %%ebx\n"
-             "pushf\n"
+    /* We need to be careful about the handling of %ebx and
+     * %esp here. We can't declare either one as clobbered
+     * since they are special registers (%ebx is the "PIC
+     * register" holding an offset to global data, %esp the
+     * stack pointer), so we need to make sure they have their
+     * original values when we access the output operands.
+     */
+    __asm__ ("pushf\n"
              "pop %%eax\n"
-             "mov %%eax, %%ebx\n"
+             "mov %%eax, %%ecx\n"
              "xor $0x00200000, %%eax\n"
              "push %%eax\n"
              "popf\n"
              "pushf\n"
              "pop %%eax\n"
              "mov $0x0, %%edx\n"
-             "xor %%ebx, %%eax\n"
+             "xor %%ecx, %%eax\n"
              "jz skip\n"
 
              "mov $0x00000000, %%eax\n"
+	     "push %%ebx\n"
              "cpuid\n"
-             "mov %%ebx, %1\n"
+             "mov %%ebx, %%eax\n"
+	     "pop %%ebx\n"
+             "mov %%eax, %1\n"
              "mov %%edx, %2\n"
              "mov %%ecx, %3\n"
              "mov $0x00000001, %%eax\n"
+	     "push %%ebx\n"
              "cpuid\n"
+	     "pop %%ebx\n"
              "skip:\n"
-             "pop %%ebx\n"
              "mov %%edx, %0\n"
              : "=r" (result), 
                "=m" (vendor[0]), 
@@ -2542,8 +2552,8 @@
                     "mov $0x80000001, %%eax\n"
                     "cpuid\n"
                     "skip2:\n"
-                    "mov %%edx, %0\n"
                     "pop %%ebx\n"
+                    "mov %%edx, %0\n"
                     : "=r" (result)
                     :
                     : "%eax", "%ecx", "%edx"

_______________________________________________
xserver-commit mailing list
xserver-commit at lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xserver-commit


More information about the xorg-modular mailing list