Gentoo Archives: gentoo-commits

From: "Alexandre Rostovtsev (tetromino)" <tetromino@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in dev-libs/liboil/files: liboil-0.3.17-amd64-cpuid.patch
Date: Mon, 29 Oct 2012 00:56:57
Message-Id: 20121029005643.DE5D120E47@flycatcher.gentoo.org
1 tetromino 12/10/29 00:56:43
2
3 Added: liboil-0.3.17-amd64-cpuid.patch
4 Log:
5 Add upstream patch to fix CPU detection on amd64. Add prefix keywords (bug #440082, thanks to Christoph Junghans). Remove useless doc USE flag, and install docs in the location where tools like devhelp expect them. Punt .la files, and make static libs optional.
6
7 (Portage version: 2.2.0_alpha142/cvs/Linux x86_64, signed Manifest commit with key CF0ADD61)
8
9 Revision Changes Path
10 1.1 dev-libs/liboil/files/liboil-0.3.17-amd64-cpuid.patch
11
12 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/liboil/files/liboil-0.3.17-amd64-cpuid.patch?rev=1.1&view=markup
13 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/liboil/files/liboil-0.3.17-amd64-cpuid.patch?rev=1.1&content-type=text/plain
14
15 Index: liboil-0.3.17-amd64-cpuid.patch
16 ===================================================================
17 From 705916007fba0a845229a02dc6474cb523eff150 Mon Sep 17 00:00:00 2001
18 From: David Schleef <ds@×××××××.org>
19 Date: Tue, 20 Jul 2010 21:05:26 +0000
20 Subject: x86: Fix cpuid function on x86-64
21
22 Fixes: #28956.
23 ---
24 diff --git a/liboil/liboilcpu-x86.c b/liboil/liboilcpu-x86.c
25 index e7a1978..ef4d3f2 100644
26 --- a/liboil/liboilcpu-x86.c
27 +++ b/liboil/liboilcpu-x86.c
28 @@ -162,13 +162,10 @@ get_cpuid (uint32_t op, uint32_t *a, uint32_t *b, uint32_t *c, uint32_t *d)
29 static void
30 get_cpuid (uint32_t op, uint32_t *a, uint32_t *b, uint32_t *c, uint32_t *d)
31 {
32 + *a = op;
33 __asm__ (
34 - " pushq %%rbx\n"
35 " cpuid\n"
36 - " mov %%ebx, %%esi\n"
37 - " popq %%rbx\n"
38 - : "=a" (*a), "=S" (*b), "=c" (*c), "=d" (*d)
39 - : "0" (op));
40 + : "+a" (*a), "=b" (*b), "=c" (*c), "=d" (*d));
41 }
42 #endif
43
44 @@ -185,7 +182,7 @@ oil_cpu_detect_cpuid (void)
45 {
46 uint32_t eax, ebx, ecx, edx;
47 uint32_t level;
48 - char vendor[13] = { 0 };
49 + char vendor[13+4] = { 0 };
50 int ret;
51
52 oil_fault_check_enable ();
53 --
54 cgit v0.9.0.2-2-gbebe