[Buildroot] [PATCH 1/1] package/s390-tools: bump to version 2.17.0

Alexander Egorenkov egorenar at linux.ibm.com
Mon Jul 19 11:26:48 UTC 2021


Fixes:
- https://release-monitoring.org/project/10714/

https://github.com/ibm-s390-linux/s390-tools/blob/v2.17.0/CHANGELOG.md

Signed-off-by: Alexander Egorenkov <egorenar at linux.ibm.com>
---
 ...compile-errors-due-to-use-of-non-sta.patch | 135 ++++++++++++++++++
 ...snmpd-Makefile-fix-cross-compilation.patch |  41 ------
 ...compile-errors-due-to-use-of-non-sta.patch |  49 +++++++
 ...en-the-compiler-flags-are-overridden.patch |  54 -------
 package/s390-tools/s390-tools.hash            |   2 +-
 package/s390-tools/s390-tools.mk              |   2 +-
 6 files changed, 186 insertions(+), 97 deletions(-)
 create mode 100644 package/s390-tools/0001-cpumf-lshwc-Fix-compile-errors-due-to-use-of-non-sta.patch
 delete mode 100644 package/s390-tools/0001-osasnmpd-Makefile-fix-cross-compilation.patch
 create mode 100644 package/s390-tools/0002-cpumf-lshwc-Fix-compile-errors-due-to-use-of-non-sta.patch
 delete mode 100644 package/s390-tools/0002-zkey-Fix-build-error-when-the-compiler-flags-are-overridden.patch

diff --git a/package/s390-tools/0001-cpumf-lshwc-Fix-compile-errors-due-to-use-of-non-sta.patch b/package/s390-tools/0001-cpumf-lshwc-Fix-compile-errors-due-to-use-of-non-sta.patch
new file mode 100644
index 0000000000..259c63256d
--- /dev/null
+++ b/package/s390-tools/0001-cpumf-lshwc-Fix-compile-errors-due-to-use-of-non-sta.patch
@@ -0,0 +1,135 @@
+From cf6d54b333a3495244ab7bf4939b933fa9fc2108 Mon Sep 17 00:00:00 2001
+From: Alexander Egorenkov <egorenar at linux.ibm.com>
+Date: Mon, 19 Jul 2021 11:49:31 +0200
+Subject: [PATCH 1/2] cpumf/lshwc: Fix compile errors due to use of
+ non-standard 32/64 bit types
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Use standard 32- and 64-bit C types.
+
+Fixes the following compile errors with buildroot:
+In file included from lshwc.c:41:
+lshwc.h:61:2: error: unknown type name ‘__u64’
+   61 |  __u64 version;   /* Version of interface */
+      |  ^~~~~
+lshwc.h:62:2: error: unknown type name ‘__u64’
+   62 |  __u64 data_bytes;  /* # of bytes required */
+      |  ^~~~~
+lshwc.h:63:2: error: unknown type name ‘__u64’
+   63 |  __u64 cpumask_len;  /* Length of CPU mask in bytes */
+      |  ^~~~~
+lshwc.h:64:2: error: unknown type name ‘__u64’
+   64 |  __u64 *cpumask;   /* Pointer to CPU mask */
+      |  ^~~~~
+lshwc.h:65:2: error: unknown type name ‘__u64’
+   65 |  __u64 counter_sets;  /* Bit mask of counter set to get */
+      |  ^~~~~
+lshwc.h:69:2: error: unknown type name ‘__u32’
+   69 |  __u32 set;   /* Counter set number */
+      |  ^~~~~
+
+Fixes: 27a562da ("cpumf/lshwc: Program to extract complete counter sets")
+Signed-off-by: Alexander Egorenkov <egorenar at linux.ibm.com>
+---
+ cpumf/lshwc.c | 10 +++++-----
+ cpumf/lshwc.h | 23 ++++++++++++-----------
+ 2 files changed, 17 insertions(+), 16 deletions(-)
+
+diff --git a/cpumf/lshwc.c b/cpumf/lshwc.c
+index 39c9fbe2..c7755123 100644
+--- a/cpumf/lshwc.c
++++ b/cpumf/lshwc.c
+@@ -240,7 +240,7 @@ static char *show_ctrset(unsigned long set)
+ /* Parse CPU list and counter sets */
+ static void parse_cpulist(char *parm, struct s390_hwctr_start *start)
+ {
+-	__u64 *words = start->cpumask;
++	uint64_t *words = start->cpumask;
+ 	unsigned long i, no_a, no_b;
+ 	char *cp, *tokens[16];		/* Used to parse command line params */
+ 	char cpubuf[256];
+@@ -300,7 +300,7 @@ static void parse_cpulist(char *parm, struct s390_hwctr_start *start)
+ 	/* no_b is highest used index, swap array */
+ 	start->cpumask_len = (no_b + 1) * 8;
+ 	for (no_a = 0; no_a < no_b; ++no_a, --no_b) {
+-		__u64 tmp =  words[no_a];
++		uint64_t tmp =  words[no_a];
+ 
+ 		words[no_a] = words[no_b];
+ 		words[no_b] = tmp;
+@@ -525,7 +525,7 @@ static int test_read(struct s390_hwctr_read *read)
+ 			}
+ 			/* Iterate over all counters in each set */
+ 			for (unsigned int k = 0; k < sp->no_cnts; ++k) {
+-				__u64 value;
++				uint64_t value;
+ 				void *addr = base + offset;
+ 				size_t idx = ctrset_offset(sp->set) + k;
+ 
+@@ -608,8 +608,8 @@ static int do_it(char *s)
+ 	int rc;
+ 
+ 	memset(&start, 0, sizeof(start));
+-	rc = max_possible_cpus / sizeof(__u64);
+-	start.cpumask = alloca(max_possible_cpus / sizeof(__u64));
++	rc = max_possible_cpus / sizeof(uint64_t);
++	start.cpumask = alloca(max_possible_cpus / sizeof(uint64_t));
+ 	memset(start.cpumask, 0, rc);
+ 	parse_cpulist(s, &start);
+ 	errno = 0;
+diff --git a/cpumf/lshwc.h b/cpumf/lshwc.h
+index d8044dc7..2f6c51b8 100644
+--- a/cpumf/lshwc.h
++++ b/cpumf/lshwc.h
+@@ -13,6 +13,7 @@
+ #ifndef LSHWC_H
+ #define LSHWC_H
+ 
++#include <stdint.h>
+ #include <sys/ioctl.h>
+ 
+ enum {
+@@ -58,27 +59,27 @@ enum {
+  */
+ 
+ struct s390_hwctr_start {		/* Set CPUs to operate on */
+-	__u64 version;			/* Version of interface */
+-	__u64 data_bytes;		/* # of bytes required */
+-	__u64 cpumask_len;		/* Length of CPU mask in bytes */
+-	__u64 *cpumask;			/* Pointer to CPU mask */
+-	__u64 counter_sets;		/* Bit mask of counter set to get */
++	uint64_t version;		/* Version of interface */
++	uint64_t data_bytes;		/* # of bytes required */
++	uint64_t cpumask_len;		/* Length of CPU mask in bytes */
++	uint64_t *cpumask;		/* Pointer to CPU mask */
++	uint64_t counter_sets;		/* Bit mask of counter set to get */
+ };
+ 
+ struct s390_hwctr_setdata {		/* Counter set data */
+-	__u32 set;			/* Counter set number */
+-	__u32 no_cnts;			/* # of counters stored in cv[] */
+-	__u64 cv[0];			/* Counter values (variable length) */
++	uint32_t set;			/* Counter set number */
++	uint32_t no_cnts;		/* # of counters stored in cv[] */
++	uint64_t cv[0];			/* Counter values (variable length) */
+ };
+ 
+ struct s390_hwctr_cpudata {		/* Counter set data per CPU */
+-	__u32 cpu_nr;			/* Counter set number */
+-	__u32 no_sets;			/* # of counters sets in data[] */
++	uint32_t cpu_nr;		/* Counter set number */
++	uint32_t no_sets;		/* # of counters sets in data[] */
+ 	struct s390_hwctr_setdata data[0];
+ };
+ 
+ struct s390_hwctr_read {		/* Structure to get all ctr sets */
+-	__u64 no_cpus;			/* Total # of CPUs data taken from */
++	uint64_t no_cpus;		/* Total # of CPUs data taken from */
+ 	struct s390_hwctr_cpudata data[0];
+ };
+ 
+-- 
+2.31.1
+
diff --git a/package/s390-tools/0001-osasnmpd-Makefile-fix-cross-compilation.patch b/package/s390-tools/0001-osasnmpd-Makefile-fix-cross-compilation.patch
deleted file mode 100644
index 8e3d1399f2..0000000000
--- a/package/s390-tools/0001-osasnmpd-Makefile-fix-cross-compilation.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From d7faa31a871d14ab02b290bdf2b2fa085766d2ac Mon Sep 17 00:00:00 2001
-From: Fabrice Fontaine <fontaine.fabrice at gmail.com>
-Date: Fri, 27 Nov 2020 23:43:15 +0100
-Subject: [PATCH] osasnmpd/Makefile: fix cross-compilation
-
-Fix the following build failure by allowing the user to provide
-NET_SNMP_CONFIG:
-
-/bin/sh: net-snmp-config: command not found
-/home/buildroot/autobuild/run/instance-2/output-1/host/lib/gcc/s390x-buildroot-linux-gnu/9.3.0/../../../../s390x-buildroot-linux-gnu/bin/ld: osasnmpd.o: in function `main':
-osasnmpd.c:(.text.startup+0xcc): undefined reference to `snmp_log_perror'
-
-Fixes:
- - http://autobuild.buildroot.org/results/00796f2ebd5fb0e08ac7a05a9ee566f2bc4bd1c3
-
-Signed-off-by: Fabrice Fontaine <fontaine.fabrice at gmail.com>
-[Upstream status: https://github.com/ibm-s390-tools/s390-tools/pull/99]
----
- osasnmpd/Makefile | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/osasnmpd/Makefile b/osasnmpd/Makefile
-index 15496b2..8ce0932 100644
---- a/osasnmpd/Makefile
-+++ b/osasnmpd/Makefile
-@@ -1,9 +1,10 @@
- include ../common.mak
--LDLIBS = `net-snmp-config --agent-libs`
-+NET_SNMP_CONFIG = net-snmp-config
-+LDLIBS = `$(NET_SNMP_CONFIG) --agent-libs`
- # On some Linux systems `net-snmp-config --agent-libs` introduces -pie,
- # therefore add -fPIC to prevent link failures.
- ALL_CFLAGS += -fPIC
--ALL_CFLAGS += `net-snmp-config --cflags`
-+ALL_CFLAGS += `$(NET_SNMP_CONFIG) --cflags`
- 
- OBJS = ibmOSAMib.o ibmOSAMibUtil.o osasnmpd.o
- 
--- 
-2.29.2
-
diff --git a/package/s390-tools/0002-cpumf-lshwc-Fix-compile-errors-due-to-use-of-non-sta.patch b/package/s390-tools/0002-cpumf-lshwc-Fix-compile-errors-due-to-use-of-non-sta.patch
new file mode 100644
index 0000000000..cb4dc4371a
--- /dev/null
+++ b/package/s390-tools/0002-cpumf-lshwc-Fix-compile-errors-due-to-use-of-non-sta.patch
@@ -0,0 +1,49 @@
+From 727e882d77804f687179df49d96a01b10a0cf56a Mon Sep 17 00:00:00 2001
+From: Alexander Egorenkov <egorenar at linux.ibm.com>
+Date: Mon, 19 Jul 2021 12:10:19 +0200
+Subject: [PATCH 2/2] cpumf/lshwc: Fix compile errors due to use of
+ non-standard __BITS_PER_LONG
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Use LONG_BIT provided by C standard in <limits.h>.
+
+Fixes the following compile errors with buildroot:
+lshwc.c: In function ‘parse_cpulist’:
+lshwc.c:295:15: error: ‘__BITS_PER_LONG’ undeclared (first use in this function)
+  295 |    no_a = i % __BITS_PER_LONG;
+      |               ^~~~~~~~~~~~~~~
+
+Fixes: 27a562da ("cpumf/lshwc: Program to extract complete counter sets")
+Signed-off-by: Alexander Egorenkov <egorenar at linux.ibm.com>
+---
+ cpumf/lshwc.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/cpumf/lshwc.c b/cpumf/lshwc.c
+index c7755123..13f63c4d 100644
+--- a/cpumf/lshwc.c
++++ b/cpumf/lshwc.c
+@@ -17,6 +17,7 @@
+ #include <err.h>
+ #include <errno.h>
+ #include <fcntl.h>
++#include <limits.h>
+ #include <linux/limits.h>
+ #include <stdarg.h>
+ #include <stdbool.h>
+@@ -292,8 +293,8 @@ static void parse_cpulist(char *parm, struct s390_hwctr_start *start)
+ 	/* Convert the CPU list to a bitmask for kernel cpumask_t */
+ 	for (i = 0, no_b = 0; i < max_possible_cpus; ++i) {
+ 		if (check[i].cpu_req) {
+-			no_a = i % __BITS_PER_LONG;
+-			no_b = i / __BITS_PER_LONG;
++			no_a = i % LONG_BIT;
++			no_b = i / LONG_BIT;
+ 			words[no_b] |= 1ULL << no_a;
+ 		}
+ 	}
+-- 
+2.31.1
+
diff --git a/package/s390-tools/0002-zkey-Fix-build-error-when-the-compiler-flags-are-overridden.patch b/package/s390-tools/0002-zkey-Fix-build-error-when-the-compiler-flags-are-overridden.patch
deleted file mode 100644
index ee725d396e..0000000000
--- a/package/s390-tools/0002-zkey-Fix-build-error-when-the-compiler-flags-are-overridden.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From 3f3f063c98278f53ad3b34e68b70fca62eaea8fb Mon Sep 17 00:00:00 2001
-From: Ingo Franzki <ifranzki at linux.ibm.com>
-Date: Tue, 23 Feb 2021 08:52:26 +0100
-Subject: [PATCH] zkey: Fix build error when the compiler flags are overridden
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-When the compiler flags are overridden, the build of zkey may fail with:
-
-kms.c:44:2: error: #error KMS_PLUGIN_LOCATION must be defined
-   44 | #error KMS_PLUGIN_LOCATION must be defined
-      |  ^~~~~
-
-The Makefile uses CFLAGS variable for defining the KMS_PLUGIN_LOCATION,
-but it should rather use ALL_CFLAGS.
-
-Also use ALL_CPPFLAGS for defining HAVE_LUKS2_SUPPORT.
-
-Fixes: https://github.com/ibm-s390-linux/s390-tools/issues/108
-
-Signed-off-by: Ingo Franzki <ifranzki at linux.ibm.com>
-Reviewed-by: Jan Hoeppner <hoeppner at linux.ibm.com>
-Signed-off-by: Jan Höppner <hoeppner at linux.ibm.com>
-
-[Retrieved from:
-https://github.com/ibm-s390-linux/s390-tools/commit/3f3f063c98278f53ad3b34e68b70fca62eaea8fb]
-Signed-off-by: Fabrice Fontaine <fontaine.fabrice at gmail.com>
----
- zkey/Makefile | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/zkey/Makefile b/zkey/Makefile
-index 41129bcf..f74e2091 100644
---- a/zkey/Makefile
-+++ b/zkey/Makefile
-@@ -18,7 +18,7 @@ ifneq (${HAVE_CRYPTSETUP2},0)
- 		ifneq (${HAVE_OPENSSL},0)
- 			BUILD_TARGETS += zkey-cryptsetup
- 			INSTALL_TARGETS += install-zkey-cryptsetup
--			CPPFLAGS += -DHAVE_LUKS2_SUPPORT
-+			ALL_CPPFLAGS += -DHAVE_LUKS2_SUPPORT
- 		else
- 			BUILD_TARGETS += zkey-cryptsetup-skip-openssl
- 			INSTALL_TARGETS += zkey-cryptsetup-skip-openssl
-@@ -34,7 +34,7 @@ endif
- 
- libs = $(rootdir)/libutil/libutil.a
- 
--CFLAGS += -DKMS_PLUGIN_LOCATION=\"$(ZKEYKMSPLUGINDIR)\"
-+ALL_CFLAGS += -DKMS_PLUGIN_LOCATION=\"$(ZKEYKMSPLUGINDIR)\"
- 
- detect-libcryptsetup.dep:
- 	echo "#include <libcryptsetup.h>" > detect-libcryptsetup.dep
diff --git a/package/s390-tools/s390-tools.hash b/package/s390-tools/s390-tools.hash
index bf007286b4..fef6d1e73d 100644
--- a/package/s390-tools/s390-tools.hash
+++ b/package/s390-tools/s390-tools.hash
@@ -1,3 +1,3 @@
 # Locally computed:
-sha256  b789d5c9d8587b288e1fd9b1c1c4512bb3439e1f389519cb257f1c7c302da58f  s390-tools-2.16.0.tar.gz
+sha256  c983151fe92432db0de24bb69e01194983f5cd63da2d14bea1c0123155cd49c9  s390-tools-2.17.0.tar.gz
 sha256  cca17a9a944ebec769adee4aebd805c912c357785ff2705a99ffe68563021f75  LICENSE
diff --git a/package/s390-tools/s390-tools.mk b/package/s390-tools/s390-tools.mk
index 326262b475..3b35b70dc1 100644
--- a/package/s390-tools/s390-tools.mk
+++ b/package/s390-tools/s390-tools.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-S390_TOOLS_VERSION = 2.16.0
+S390_TOOLS_VERSION = 2.17.0
 S390_TOOLS_SITE = $(call github,ibm-s390-linux,s390-tools,v$(S390_TOOLS_VERSION))
 S390_TOOLS_LICENSE = MIT
 S390_TOOLS_LICENSE_FILES = LICENSE
-- 
2.31.1




More information about the buildroot mailing list