aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHongzhi.Song <hongzhi.song@windriver.com>2019-09-22 20:30:20 -0700
committerKhem Raj <raj.khem@gmail.com>2019-09-23 08:33:10 -0700
commit665235b74a871df54d044902b494f1caeb421ca7 (patch)
tree4f5609edcc1aed191e68017e8aaafa8856b52796
parent2dde8de633bc82a3416809e09951a94089542bb9 (diff)
downloadmeta-openembedded-contrib-665235b74a871df54d044902b494f1caeb421ca7.tar.gz
meta-openembedded-contrib-665235b74a871df54d044902b494f1caeb421ca7.tar.bz2
meta-openembedded-contrib-665235b74a871df54d044902b494f1caeb421ca7.zip
numactl: fix a error about lib32-numactl
lib32-numactl has a error: root@intel-x86-64:~# numademo -t -e 1M Configured Nodes does not match available memory nodes That's because (long long int) is assigned to (long int). This will cause (long int) overflow on 32bit system. Unify variable types and fix it. Signed-off-by: Hongzhi.Song <hongzhi.song@windriver.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
-rw-r--r--meta-oe/recipes-support/numactl/numactl/0001-numademo-fix-error-on-32bit-system.patch100
-rw-r--r--meta-oe/recipes-support/numactl/numactl_git.bb1
2 files changed, 101 insertions, 0 deletions
diff --git a/meta-oe/recipes-support/numactl/numactl/0001-numademo-fix-error-on-32bit-system.patch b/meta-oe/recipes-support/numactl/numactl/0001-numademo-fix-error-on-32bit-system.patch
new file mode 100644
index 0000000000..506101711a
--- /dev/null
+++ b/meta-oe/recipes-support/numactl/numactl/0001-numademo-fix-error-on-32bit-system.patch
@@ -0,0 +1,100 @@
+From 68485f8516884377e54c623b0deff73f97321d96 Mon Sep 17 00:00:00 2001
+From: "Hongzhi.Song" <hongzhi.song@windriver.com>
+Date: Thu, 19 Sep 2019 04:32:31 -0400
+Subject: [PATCH] numademo: fix error on 32bit system
+
+Error Info on 32bit:
+root@intel-x86:~# numademo -t -e 1M
+Configured Nodes does not match available memory nodes
+
+That's because sizeof(long)=4Word, but sizeof(long long)=8Word
+on 32bit. So (long long) assigning to (long) maybe cause overflow.
+
+long numa_node_size(int node, long *freep)
+{
+ ...
+ long sz = numa_node_size64_int(node, &f2);
+ ~^^~
+ return sz;
+ ...
+}
+long long numa_node_size64(int node, long long *freep)
+~^^ ^^~
+{
+ ...
+}
+
+Unify the return type of above functions.
+
+Upstream-Status: Accepted [next version is after 2.0.13 or 2.0.14]
+[https://github.com/numactl/numactl/commit/a7c4bc790a191d3e42b63850b409c1a72b75a4e1]
+ Submitted [https://github.com/numactl/numactl/pull/79]
+[The first patch was merged but has a error, then the second fix it.]
+
+Signed-off-by: Hongzhi.Song <hongzhi.song@windriver.com>
+---
+ libnuma.c | 4 ++--
+ numa.h | 2 +-
+ numademo.c | 2 +-
+ test/move_pages.c | 2 +-
+ 4 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/libnuma.c b/libnuma.c
+index cac8851..8b5c6aa 100644
+--- a/libnuma.c
++++ b/libnuma.c
+@@ -791,10 +791,10 @@ long long numa_node_size64(int node, long long *freep)
+
+ make_internal_alias(numa_node_size64);
+
+-long numa_node_size(int node, long *freep)
++long long numa_node_size(int node, long long *freep)
+ {
+ long long f2;
+- long sz = numa_node_size64_int(node, &f2);
++ long long sz = numa_node_size64_int(node, &f2);
+ if (freep)
+ *freep = f2;
+ return sz;
+diff --git a/numa.h b/numa.h
+index 3a8c543..268fb1d 100644
+--- a/numa.h
++++ b/numa.h
+@@ -143,7 +143,7 @@ int numa_preferred(void);
+
+ /* Return node size and free memory */
+ long long numa_node_size64(int node, long long *freep);
+-long numa_node_size(int node, long *freep);
++long long numa_node_size(int node, long long *freep);
+
+ int numa_pagesize(void);
+
+diff --git a/numademo.c b/numademo.c
+index a720db0..8c56da8 100644
+--- a/numademo.c
++++ b/numademo.c
+@@ -301,7 +301,7 @@ int max_node, numnodes;
+ int get_node_list(void)
+ {
+ int a, got_nodes = 0;
+- long free_node_sizes;
++ long long free_node_sizes;
+
+ numnodes = numa_num_configured_nodes();
+ node_to_use = (int *)malloc(numnodes * sizeof(int));
+diff --git a/test/move_pages.c b/test/move_pages.c
+index d1d8436..f8ff25d 100644
+--- a/test/move_pages.c
++++ b/test/move_pages.c
+@@ -26,7 +26,7 @@ int *node_to_use;
+ int get_node_list()
+ {
+ int a, got_nodes = 0, max_node, numnodes;
+- long free_node_sizes;
++ long long free_node_sizes;
+
+ numnodes = numa_num_configured_nodes();
+ node_to_use = (int *)malloc(numnodes * sizeof(int));
+--
+2.23.0
+
diff --git a/meta-oe/recipes-support/numactl/numactl_git.bb b/meta-oe/recipes-support/numactl/numactl_git.bb
index f13b1795f1..20b7fed862 100644
--- a/meta-oe/recipes-support/numactl/numactl_git.bb
+++ b/meta-oe/recipes-support/numactl/numactl_git.bb
@@ -18,6 +18,7 @@ SRC_URI = "git://github.com/numactl/numactl \
file://Makefile \
file://run-ptest \
file://0001-define-run-test-target.patch \
+ file://0001-numademo-fix-error-on-32bit-system.patch \
"
S = "${WORKDIR}/git"