]> git.ipfire.org Git - ipfire-2.x.git/commitdiff
cpufrequtils: add some patches from the debian patchset
authorArne Fitzenreiter <arne_f@ipfire.org>
Wed, 14 Jul 2021 17:57:58 +0000 (19:57 +0200)
committerArne Fitzenreiter <arne_f@ipfire.org>
Wed, 14 Jul 2021 17:57:58 +0000 (19:57 +0200)
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
lfs/cpufrequtils
src/patches/cpufrequtils/0001-Only-x86-has-cpuid-instruction.patch [new file with mode: 0644]
src/patches/cpufrequtils/0003-cpufrequtils-aperf-Fix-MSR-read-on-32-bit.patch [new file with mode: 0644]
src/patches/cpufrequtils/0005-cpufrequtils-sysfs-increase-MAX_LINE_LEN.patch [new file with mode: 0644]
src/patches/cpufrequtils/0006-aperf-fix-compilation-on-x86-32-with-fPIC.patch [new file with mode: 0644]
src/patches/cpufrequtils/0007-po-add-missing-word-in-DE.patch [new file with mode: 0644]

index 2b9d6e0680b1209434e40210e420b0f19cdceaf6..ddc03a18b5789cf3e249de350536e93ad8f6a836 100644 (file)
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2018  IPFire Team  <info@ipfire.org>                     #
+# Copyright (C) 2007-2021  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
@@ -33,7 +33,7 @@ DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 SUP_ARCH   = x86_64 i586
 PROG       = cpufrequtils
-PAK_VER    = 9
+PAK_VER    = 10
 
 DEPS       =
 
@@ -78,6 +78,12 @@ $(subst %,%_MD5,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/cpufrequtils/0001-Only-x86-has-cpuid-instruction.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/cpufrequtils/0003-cpufrequtils-aperf-Fix-MSR-read-on-32-bit.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/cpufrequtils/0005-cpufrequtils-sysfs-increase-MAX_LINE_LEN.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/cpufrequtils/0006-aperf-fix-compilation-on-x86-32-with-fPIC.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/cpufrequtils/0007-po-add-missing-word-in-DE.patch
+
        cd $(DIR_APP) && make
        cd $(DIR_APP) && make install
 
diff --git a/src/patches/cpufrequtils/0001-Only-x86-has-cpuid-instruction.patch b/src/patches/cpufrequtils/0001-Only-x86-has-cpuid-instruction.patch
new file mode 100644 (file)
index 0000000..d3bc14d
--- /dev/null
@@ -0,0 +1,34 @@
+From f1b6bccf08f53295b2f7f448f28bbd37533c14a2 Mon Sep 17 00:00:00 2001
+From: Zhang Le <r0bertz@gentoo.org>
+Date: Sun, 18 Jul 2010 02:05:28 +0800
+Subject: [PATCH 1/8] Only x86 has cpuid instruction
+
+Signed-off-by: Zhang Le <r0bertz@gentoo.org>
+Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
+---
+ utils/aperf.c |    4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/utils/aperf.c b/utils/aperf.c
+index 627fb17..1c64501 100644
+--- a/utils/aperf.c
++++ b/utils/aperf.c
+@@ -68,11 +68,15 @@ struct avg_perf_cpu_info
+ static int cpu_has_effective_freq()
+ {
++#if defined(__i386__) || defined(__x86_64__)
+       /* largest base level */
+       if (cpuid_eax(0) < 6)
+               return 0;
+       return cpuid_ecx(6) & 0x1;
++#else
++      return 0;
++#endif
+ }
+ /*
+-- 
+1.7.10
+
diff --git a/src/patches/cpufrequtils/0003-cpufrequtils-aperf-Fix-MSR-read-on-32-bit.patch b/src/patches/cpufrequtils/0003-cpufrequtils-aperf-Fix-MSR-read-on-32-bit.patch
new file mode 100644 (file)
index 0000000..308e73a
--- /dev/null
@@ -0,0 +1,35 @@
+From d4490efed068a552e8b67d52a0726458a224c9a0 Mon Sep 17 00:00:00 2001
+From: Frank Arnold <frank.arnold@amd.com>
+Date: Wed, 8 Dec 2010 17:39:14 +0100
+Subject: [PATCH 3/8] cpufrequtils aperf: Fix MSR read on 32-bit
+
+The cpufreq-aperf command does not work on 32-bit systems. The reason
+for that is a wrong count argument passed to the read() call. Instead
+of the buffer size, the size of the pointer to the buffer is used. On
+64-bit systems this just happened to work, because we need to read an
+8 byte value and a pointer has a size of 8 bytes on 64-bit. On 32-bit
+systems only 4 bytes are read, which then triggers the error path.
+
+Signed-off-by: Frank Arnold <frank.arnold@amd.com>
+Reviewed-by: Thomas Renninger <trenn@suse.de>
+Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
+---
+ utils/aperf.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/utils/aperf.c b/utils/aperf.c
+index 1c64501..6302f5a 100644
+--- a/utils/aperf.c
++++ b/utils/aperf.c
+@@ -100,7 +100,7 @@ static int read_msr(int cpu, unsigned int idx, unsigned long long *val)
+               return -1;
+       if (lseek(fd, idx, SEEK_CUR) == -1)
+               goto err;
+-      if (read(fd, val, sizeof val) != sizeof *val)
++      if (read(fd, val, sizeof *val) != sizeof *val)
+               goto err;
+       close(fd);
+       return 0;
+-- 
+1.7.10
+
diff --git a/src/patches/cpufrequtils/0005-cpufrequtils-sysfs-increase-MAX_LINE_LEN.patch b/src/patches/cpufrequtils/0005-cpufrequtils-sysfs-increase-MAX_LINE_LEN.patch
new file mode 100644 (file)
index 0000000..9408830
--- /dev/null
@@ -0,0 +1,29 @@
+From 9f2efa7bc6969c10562ac2c720d50ff77083e5c2 Mon Sep 17 00:00:00 2001
+From: Roman Vasiyarov <rvasiyarov@gmail.com>
+Date: Mon, 25 Apr 2011 21:34:23 +0400
+Subject: [PATCH 5/8] cpufrequtils sysfs: increase MAX_LINE_LEN
+
+larger sysfs data (>255 bytes) was truncated and thus used improperly
+
+Signed-off-by: Roman Vasiyarov <rvasiyarov@gmail.com>
+Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
+---
+ lib/sysfs.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/sysfs.c b/lib/sysfs.c
+index 4e0edab..24dd563 100644
+--- a/lib/sysfs.c
++++ b/lib/sysfs.c
+@@ -18,7 +18,7 @@
+ #include "cpufreq.h"
+ #define PATH_TO_CPU "/sys/devices/system/cpu/"
+-#define MAX_LINE_LEN 255
++#define MAX_LINE_LEN 4096
+ #define SYSFS_PATH_MAX 255
+ /* helper function to read file from /sys into given buffer */
+-- 
+1.7.10
+
diff --git a/src/patches/cpufrequtils/0006-aperf-fix-compilation-on-x86-32-with-fPIC.patch b/src/patches/cpufrequtils/0006-aperf-fix-compilation-on-x86-32-with-fPIC.patch
new file mode 100644 (file)
index 0000000..ee3adff
--- /dev/null
@@ -0,0 +1,46 @@
+From 9085ce6f615d9d2e0182d3ce029b882835bd0a6b Mon Sep 17 00:00:00 2001
+From: Matt Turner <mattst88@gmail.com>
+Date: Tue, 26 Jul 2011 19:28:31 -0400
+Subject: [PATCH 6/8] aperf: fix compilation on x86-32 with -fPIC
+
+ebx is used to store the GOT pointer when compiled with -fPIC, so it's
+not usable by inline assembly.
+
+https://bugs.gentoo.org/375967
+
+Signed-off-by: Matt Turner <mattst88@gmail.com>
+Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
+---
+ utils/cpuid.h |   14 +++++++++++++-
+ 1 file changed, 13 insertions(+), 1 deletion(-)
+
+diff --git a/utils/cpuid.h b/utils/cpuid.h
+index 2bac69a..53da789 100644
+--- a/utils/cpuid.h
++++ b/utils/cpuid.h
+@@ -5,9 +5,21 @@ static inline void __cpuid(unsigned int *eax, unsigned int *ebx,
+                               unsigned int *ecx, unsigned int *edx)
+ {
+       /* ecx is often an input as well as an output. */
+-      asm volatile("cpuid"
++      asm volatile(
++#if defined(__i386__) && defined(__PIC__)
++          "push %%ebx\n"
++          "cpuid\n"
++          "movl %%ebx, %1\n"
++          "pop %%ebx\n"
++#else
++          "cpuid\n"
++#endif
+           : "=a" (*eax),
++#if defined(__i386__) && defined(__PIC__)
++            "=r" (*ebx),
++#else
+             "=b" (*ebx),
++#endif
+             "=c" (*ecx),
+             "=d" (*edx)
+           : "0" (*eax), "2" (*ecx));
+-- 
+1.7.10
+
diff --git a/src/patches/cpufrequtils/0007-po-add-missing-word-in-DE.patch b/src/patches/cpufrequtils/0007-po-add-missing-word-in-DE.patch
new file mode 100644 (file)
index 0000000..d116791
--- /dev/null
@@ -0,0 +1,28 @@
+From 26ce99ab92ae9f1f367a58b7858a96f4e1e6814c Mon Sep 17 00:00:00 2001
+From: Dominik Brodowski <linux@dominikbrodowski.net>
+Date: Fri, 29 Jul 2011 19:40:46 +0200
+Subject: [PATCH 7/8] po: add missing word in DE
+
+Reported-by: Michael Basse
+Reported-by: <tkranz@zedat.fu-berlin.de>
+Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
+---
+ po/de.po |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/po/de.po b/po/de.po
+index 1da1f2b..ee793f5 100644
+--- a/po/de.po
++++ b/po/de.po
+@@ -304,7 +304,7 @@ msgid ""
+ "modified\n"
+ msgstr ""
+ "  -c CPU, --cpu CPU        Nummer der CPU, deren Taktfrequenz-Einstellung\n"
+-"                           werden soll\n"
++"                           verändert werden soll\n"
+ #: utils/set.c:39
+ #, c-format
+-- 
+1.7.10
+