summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErich Eckner <git@eckner.net>2019-05-13 10:39:33 +0200
committerErich Eckner <git@eckner.net>2019-05-15 11:04:50 +0200
commitcb317944e36b6fa1b68abe80fa1e54270f3a0840 (patch)
tree3fc37905752f3f46a300406474d30e34fd2cddd4
parent7007d3c5739df17741049dea9238bf5ddd77942b (diff)
downloadpacman-cb317944e36b6fa1b68abe80fa1e54270f3a0840.tar.xz
change "i686" to "pentium4" if sse2 is available
-rw-r--r--src/pacman/conf.c5
-rw-r--r--src/pacman/pacman.c9
2 files changed, 13 insertions, 1 deletions
diff --git a/src/pacman/conf.c b/src/pacman/conf.c
index 2d8518c4..2e7fac88 100644
--- a/src/pacman/conf.c
+++ b/src/pacman/conf.c
@@ -308,6 +308,11 @@ int config_set_arch(const char *arch)
struct utsname un;
uname(&un);
config->arch = strdup(un.machine);
+ if(strcmp(config->arch, "i686") == 0) {
+ __builtin_cpu_init();
+ if (__builtin_cpu_supports("sse2"))
+ config->arch = strdup("pentium4");
+ }
} else {
config->arch = strdup(arch);
}
diff --git a/src/pacman/pacman.c b/src/pacman/pacman.c
index 3bb622e6..abb6f933 100644
--- a/src/pacman/pacman.c
+++ b/src/pacman/pacman.c
@@ -274,8 +274,15 @@ static void setuseragent(void)
int len;
uname(&un);
+ char machine[8];
+ strncpy(machine, un.machine, 8);
+ if(strcmp(machine, "i686") == 0) {
+ __builtin_cpu_init();
+ if (__builtin_cpu_supports("sse2"))
+ strncpy(machine, "pentium4", 8);
+ }
len = snprintf(agent, 100, "pacman/%s (%s %s) libalpm/%s",
- PACKAGE_VERSION, un.sysname, un.machine, alpm_version());
+ PACKAGE_VERSION, un.sysname, machine, alpm_version());
if(len >= 100) {
pm_printf(ALPM_LOG_WARNING, _("HTTP_USER_AGENT truncated\n"));
}