summaryrefslogtreecommitdiff
path: root/poky/meta/recipes-sato/puzzles
diff options
context:
space:
mode:
Diffstat (limited to 'poky/meta/recipes-sato/puzzles')
-rw-r--r--poky/meta/recipes-sato/puzzles/files/0001-pattern.c-Change-string-lenght-parameter-to-be-size_.patch33
-rw-r--r--poky/meta/recipes-sato/puzzles/files/fix-ki-uninitialized.patch25
-rw-r--r--poky/meta/recipes-sato/puzzles/puzzles_git.bb2
3 files changed, 60 insertions, 0 deletions
diff --git a/poky/meta/recipes-sato/puzzles/files/0001-pattern.c-Change-string-lenght-parameter-to-be-size_.patch b/poky/meta/recipes-sato/puzzles/files/0001-pattern.c-Change-string-lenght-parameter-to-be-size_.patch
new file mode 100644
index 0000000000..9ac62015d8
--- /dev/null
+++ b/poky/meta/recipes-sato/puzzles/files/0001-pattern.c-Change-string-lenght-parameter-to-be-size_.patch
@@ -0,0 +1,33 @@
+From 035467aa0abfbc0de7e5d24543d4aab37301593c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 7 Mar 2019 21:56:57 -0800
+Subject: [PATCH] pattern.c: Change string lenght parameter to be size_t in
+ do_row()
+
+This fixes below error on some architectures e.g. RISC-V
+
+pattern.c:455:9: error: 'memset' specified size between 18446744071562067968 and 18446744073709551615 exceeds maximum object size 9223372036854775807 [-Werror=stringop-overflow=] 455 | memset(deduced, DOT, (size_t)len); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ pattern.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/pattern.c b/pattern.c
+index 45b1b0c..f73a4c2 100644
+--- a/pattern.c
++++ b/pattern.c
+@@ -428,7 +428,7 @@ static int do_row(unsigned char *known, unsigned char *deduced,
+ unsigned char *row,
+ unsigned char *minpos_done, unsigned char *maxpos_done,
+ unsigned char *minpos_ok, unsigned char *maxpos_ok,
+- unsigned char *start, int len, int step, int *data,
++ unsigned char *start, size_t len, int step, int *data,
+ unsigned int *changed
+ #ifdef STANDALONE_SOLVER
+ , const char *rowcol, int index, int cluewid
+--
+2.21.0
+
diff --git a/poky/meta/recipes-sato/puzzles/files/fix-ki-uninitialized.patch b/poky/meta/recipes-sato/puzzles/files/fix-ki-uninitialized.patch
new file mode 100644
index 0000000000..7218d620ec
--- /dev/null
+++ b/poky/meta/recipes-sato/puzzles/files/fix-ki-uninitialized.patch
@@ -0,0 +1,25 @@
+puzzles: avoid compiler unitialized variable error
+
+The compiler does not realize that we must go through the while()
+loop at least once, so we replace it with a for() loop.
+
+Upstream-Status: Pending
+
+Signed-off-by: Joe Slater <joe.slater@windriver.com>
+
+--- a/tree234.c
++++ b/tree234.c
+@@ -326,8 +326,11 @@ static void *add234_internal(tree234 *t,
+ return orig_e;
+ }
+
+- n = t->root;
+- while (n) {
++ /*
++ * We know t->root is not NULL. The logic
++ * to break out of this is at the end of the loop.
++ */
++ for (n = t->root;;) {
+ LOG((" node %p: %p/%d \"%s\" %p/%d \"%s\" %p/%d \"%s\" %p/%d\n",
+ n,
+ n->kids[0], n->counts[0], n->elems[0],
diff --git a/poky/meta/recipes-sato/puzzles/puzzles_git.bb b/poky/meta/recipes-sato/puzzles/puzzles_git.bb
index 7d08b964f8..59b952522d 100644
--- a/poky/meta/recipes-sato/puzzles/puzzles_git.bb
+++ b/poky/meta/recipes-sato/puzzles/puzzles_git.bb
@@ -13,6 +13,8 @@ SRC_URI = "git://git.tartarus.org/simon/puzzles.git \
file://0001-Use-labs-instead-of-abs.patch \
file://0001-palisade-Fix-warnings-with-clang-on-arm.patch \
file://0001-Use-Wno-error-format-overflow-if-the-compiler-suppor.patch \
+ file://0001-pattern.c-Change-string-lenght-parameter-to-be-size_.patch \
+ file://fix-ki-uninitialized.patch \
"
UPSTREAM_CHECK_COMMITS = "1"