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 |