summaryrefslogtreecommitdiff
path: root/core/pacman/replace-i686-by-pentium4-when-architecture-is-auto.patch
diff options
context:
space:
mode:
Diffstat (limited to 'core/pacman/replace-i686-by-pentium4-when-architecture-is-auto.patch')
-rw-r--r--core/pacman/replace-i686-by-pentium4-when-architecture-is-auto.patch61
1 files changed, 7 insertions, 54 deletions
diff --git a/core/pacman/replace-i686-by-pentium4-when-architecture-is-auto.patch b/core/pacman/replace-i686-by-pentium4-when-architecture-is-auto.patch
index 6c073a4a..7e51a7ac 100644
--- a/core/pacman/replace-i686-by-pentium4-when-architecture-is-auto.patch
+++ b/core/pacman/replace-i686-by-pentium4-when-architecture-is-auto.patch
@@ -1,5 +1,5 @@
diff --git a/src/pacman/conf.c b/src/pacman/conf.c
-index 0f0c2cfb..87873891 100644
+index 0f0c2cfb..b05c456d 100644
--- a/src/pacman/conf.c
+++ b/src/pacman/conf.c
@@ -18,6 +18,7 @@
@@ -16,7 +16,7 @@ index 0f0c2cfb..87873891 100644
newarch = strdup(un.machine);
+ if(strcmp(newarch, "i686") == 0) {
+ unsigned int eax, ebx, ecx, edx;
-+ __get_cpuid(0, &eax, &ebx, &ecx, &edx);
++ __get_cpuid(1, &eax, &ebx, &ecx, &edx);
+ if (ecx & bit_SSE2)
+ newarch = strdup("pentium4");
+ }
@@ -24,7 +24,7 @@ index 0f0c2cfb..87873891 100644
arch = newarch;
}
diff --git a/src/pacman/pacman.c b/src/pacman/pacman.c
-index 7e810127..255c6269 100644
+index 7e810127..ab9ee5c9 100644
--- a/src/pacman/pacman.c
+++ b/src/pacman/pacman.c
@@ -26,6 +26,7 @@
@@ -35,16 +35,15 @@ index 7e810127..255c6269 100644
#include <ctype.h> /* isspace */
#include <limits.h>
#include <getopt.h>
-@@ -274,8 +275,19 @@ static void setuseragent(void)
+@@ -274,8 +275,18 @@ static void setuseragent(void)
int len;
uname(&un);
-+ char machine[9];
-+ strncpy(machine, un.machine, sizeof machine);
-+ machine[sizeof machine-1] = '\0';
++ char machine[8];
++ strncpy(machine, un.machine, 8);
+ if(strcmp(machine, "i686") == 0) {
+ int eax, ebx, ecx, edx;
-+ __cpuid(0, &eax, &ebx, &ecx, %edx);
++ __get_cpuid(1, &eax, &ebx, &ecx, &edx);
+ if (ecx & bit_SSE2) {
+ strncpy(machine, "pentium4", sizeof machine);
+ machine[sizeof machine-1] = '\0';
@@ -56,49 +55,3 @@ index 7e810127..255c6269 100644
if(len >= 100) {
pm_printf(ALPM_LOG_WARNING, _("HTTP_USER_AGENT truncated\n"));
}
-diff --git a/test/pacman/tests/upgrade082.py b/test/pacman/tests/upgrade082.py
-index 0bdbdf71..8c30ec32 100644
---- a/test/pacman/tests/upgrade082.py
-+++ b/test/pacman/tests/upgrade082.py
-@@ -3,6 +3,18 @@
- import os
- machine = os.uname()[4]
-
-+if machine == 'i686':
-+ import re
-+ fo = open('/proc/cpuinfo')
-+ for line in fo:
-+ name_value = [s.strip() for s in line.split(':', 1)]
-+ if len(name_value) != 2:
-+ continue
-+ name, value = name_value
-+ if name == "flags":
-+ if re.match(r'.*?\bsse2\b', value) is not None:
-+ machine = 'pentium4'
-+
- p = pmpkg("dummy")
- p.files = ["bin/dummy",
- "usr/man/man1/dummy.1"]
-diff --git a/test/pacman/tests/upgrade083.py b/test/pacman/tests/upgrade083.py
-index 097ae02c..7195e35b 100644
---- a/test/pacman/tests/upgrade083.py
-+++ b/test/pacman/tests/upgrade083.py
-@@ -3,6 +3,18 @@
- import os
- machine = os.uname()[4]
-
-+if machine == 'i686':
-+ import re
-+ fo = open('/proc/cpuinfo')
-+ for line in fo:
-+ name_value = [s.strip() for s in line.split(':', 1)]
-+ if len(name_value) != 2:
-+ continue
-+ name, value = name_value
-+ if name == "flags":
-+ if re.match(r'.*?\bsse2\b', value) is not None:
-+ machine = 'pentium4'
-+
- p = pmpkg("dummy")
- p.files = ["bin/dummy",
- "usr/man/man1/dummy.1"]