summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0001-Makefile-build-ubi-utils-only.patch (renamed from meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0001-Makefile-only-build-ubi-utils.patch)19
-rw-r--r--meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0002-common.mk-for-klibc-CC-is-klcc.patch (renamed from meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0002-common.mk-for-klibc-CC-is-klcc.patch)10
-rw-r--r--meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0003-libubi.c-add-klibc-specific-fixes-for-ioctl.patch (renamed from meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0003-libubi.c-add-klibc-specific-fixes.patch)10
-rw-r--r--meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0004-Restore-compatibility-to-dietlibc-klibc-musl-libc-af.patch (renamed from meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0004-common.h-klibc-fixes-1.patch)18
-rw-r--r--meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0005-common.h-more-workarounds-for-klibc-compatibility.patch (renamed from meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0005-common.h-klibc-fixes-2.patch)23
-rw-r--r--meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0006-libiniparser-remove-unused-function-needing-float.patch (renamed from meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0006-libiniparser-remove-unused-function-needing-float.patch)8
-rw-r--r--meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0007-mtd-utils-common.c-convert-to-integer-arithmetic.patch64
-rw-r--r--meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0008-ubi-utils-ubiformat.c-convert-to-integer-arithmetic.patch44
-rw-r--r--meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0009-Eliminate-warnings-about-implicit-non-const-casting-.patch48
-rw-r--r--meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_1.5.2.bb11
10 files changed, 212 insertions, 43 deletions
diff --git a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0001-Makefile-only-build-ubi-utils.patch b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0001-Makefile-build-ubi-utils-only.patch
index 6e1b9ff100..6ac2cca9d6 100644
--- a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0001-Makefile-only-build-ubi-utils.patch
+++ b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0001-Makefile-build-ubi-utils-only.patch
@@ -1,7 +1,7 @@
1From c4e6bd9378645d577e9d9f85da85f1438afe7c50 Mon Sep 17 00:00:00 2001 1From 1c989e4c36d0bf76ab444f984bc73b98eeacd03f Mon Sep 17 00:00:00 2001
2From: Andrea Adami <andrea.adami@gmail.com> 2From: Andrea Adami <andrea.adami@gmail.com>
3Date: Sun, 29 Jun 2014 00:32:29 +0200 3Date: Sun, 29 Jun 2014 00:32:29 +0200
4Subject: [PATCH 1/6] Makefile: build ubi-utils only 4Subject: [PATCH 1/9] Makefile: build ubi-utils only
5 5
6We build all the static ubi-utils but actually only ubiattach is needed in 6We build all the static ubi-utils but actually only ubiattach is needed in
7a minimalistic initramfs for the mount of ubi volumes. 7a minimalistic initramfs for the mount of ubi volumes.
@@ -22,13 +22,13 @@ Upstream-Status: Inappropriate [embedded specific]
22 22
23Signed-off-by: Andrea Adami <andrea.adami@gmail.com> 23Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
24--- 24---
25 Makefile | 24 ++---------------------- 25 Makefile | 26 ++------------------------
26 1 file changed, 2 insertions(+), 22 deletions(-) 26 1 file changed, 2 insertions(+), 24 deletions(-)
27 27
28Index: git/Makefile 28diff --git a/Makefile b/Makefile
29=================================================================== 29index 3ce8587..8b79f71 100644
30--- git.orig/Makefile 30--- a/Makefile
31+++ git/Makefile 31+++ b/Makefile
32@@ -16,28 +16,11 @@ endif 32@@ -16,28 +16,11 @@ endif
33 33
34 TESTS = tests 34 TESTS = tests
@@ -82,3 +82,6 @@ Index: git/Makefile
82 # 82 #
83 # Common libmtd 83 # Common libmtd
84 # 84 #
85--
862.7.4
87
diff --git a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0002-common.mk-for-klibc-CC-is-klcc.patch b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0002-common.mk-for-klibc-CC-is-klcc.patch
index f46824b5cd..c23d11f0b4 100644
--- a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0002-common.mk-for-klibc-CC-is-klcc.patch
+++ b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0002-common.mk-for-klibc-CC-is-klcc.patch
@@ -1,11 +1,11 @@
1From f3609c7c0450b4c31e1d4603fcf2cfb1ba46f994 Mon Sep 17 00:00:00 2001 1From 89c76bbe82a2029a25b0654eb0a1d0b22d6e6877 Mon Sep 17 00:00:00 2001
2From: Andrea Adami <andrea.adami@gmail.com> 2From: Andrea Adami <andrea.adami@gmail.com>
3Date: Sun, 29 Jun 2014 00:37:28 +0200 3Date: Sun, 29 Jun 2014 00:37:28 +0200
4Subject: [PATCH 2/6] common.mk: for klibc $(CC) is klcc 4Subject: [PATCH 2/9] common.mk: for klibc $(CC) is klcc
5 5
6Do not hardcode: assign the value to the variable if it is not already defined. 6Do not hardcode: assign the value to the variable if it is not already defined.
7 7
8Upstream-Status: Pending 8Upstream-Status: Submitted
9 9
10Signed-off-by: Andrea Adami <andrea.adami@gmail.com> 10Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
11--- 11---
@@ -13,7 +13,7 @@ Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
13 1 file changed, 1 insertion(+), 1 deletion(-) 13 1 file changed, 1 insertion(+), 1 deletion(-)
14 14
15diff --git a/common.mk b/common.mk 15diff --git a/common.mk b/common.mk
16index ba87377..59c56df 100644 16index ba87377..126d11a 100644
17--- a/common.mk 17--- a/common.mk
18+++ b/common.mk 18+++ b/common.mk
19@@ -1,4 +1,4 @@ 19@@ -1,4 +1,4 @@
@@ -23,5 +23,5 @@ index ba87377..59c56df 100644
23 RANLIB := $(CROSS)ranlib 23 RANLIB := $(CROSS)ranlib
24 24
25-- 25--
261.9.1 262.7.4
27 27
diff --git a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0003-libubi.c-add-klibc-specific-fixes.patch b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0003-libubi.c-add-klibc-specific-fixes-for-ioctl.patch
index 962b3685f3..9ad4a5b99e 100644
--- a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0003-libubi.c-add-klibc-specific-fixes.patch
+++ b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0003-libubi.c-add-klibc-specific-fixes-for-ioctl.patch
@@ -1,7 +1,7 @@
1From 72a39bb3290a79e76b0dbf59eef83ea2d9b577a1 Mon Sep 17 00:00:00 2001 1From fecbb7056d621a30f7106e67f5fe209763571b70 Mon Sep 17 00:00:00 2001
2From: Andrea Adami <andrea.adami@gmail.com> 2From: Andrea Adami <andrea.adami@gmail.com>
3Date: Sun, 29 Jun 2014 00:40:15 +0200 3Date: Sun, 29 Jun 2014 00:40:15 +0200
4Subject: [PATCH 3/6] libubi.c: add klibc specific fixes for ioctl 4Subject: [PATCH 3/9] libubi.c: add klibc specific fixes for ioctl
5 5
6First issue is that ioctl() in klibc doesn't expect a constant as arg3. 6First issue is that ioctl() in klibc doesn't expect a constant as arg3.
7Second issue is that arg3 in klibc ioctl() implementation is not optional. 7Second issue is that arg3 in klibc ioctl() implementation is not optional.
@@ -36,7 +36,7 @@ Fixes:
36| __extern int ioctl(int, int, void *); 36| __extern int ioctl(int, int, void *);
37| ^ 37| ^
38 38
39Upstream-Status: Inappropriate [klibc specific] 39Upstream-Status: Accepted
40 40
41Signed-off-by: Andrea Adami <andrea.adami@gmail.com> 41Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
42--- 42---
@@ -44,7 +44,7 @@ Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
44 1 file changed, 3 insertions(+), 3 deletions(-) 44 1 file changed, 3 insertions(+), 3 deletions(-)
45 45
46diff --git a/ubi-utils/libubi.c b/ubi-utils/libubi.c 46diff --git a/ubi-utils/libubi.c b/ubi-utils/libubi.c
47index 1e08b7d..491e525 100644 47index 97c0434..2b49833 100644
48--- a/ubi-utils/libubi.c 48--- a/ubi-utils/libubi.c
49+++ b/ubi-utils/libubi.c 49+++ b/ubi-utils/libubi.c
50@@ -687,7 +687,7 @@ void libubi_close(libubi_t desc) 50@@ -687,7 +687,7 @@ void libubi_close(libubi_t desc)
@@ -72,5 +72,5 @@ index 1e08b7d..491e525 100644
72 72
73 int ubi_update_start(libubi_t desc, int fd, long long bytes) 73 int ubi_update_start(libubi_t desc, int fd, long long bytes)
74-- 74--
751.9.1 752.7.4
76 76
diff --git a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0004-common.h-klibc-fixes-1.patch b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0004-Restore-compatibility-to-dietlibc-klibc-musl-libc-af.patch
index fee1cbcf90..2f31fb4a26 100644
--- a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0004-common.h-klibc-fixes-1.patch
+++ b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0004-Restore-compatibility-to-dietlibc-klibc-musl-libc-af.patch
@@ -1,7 +1,11 @@
1From e56767b9caa02e7c41803499c77dc939d5a7f64a Mon Sep 17 00:00:00 2001 1From b668cb75cb7e72ff92055209130d4cd4b3cacbdb Mon Sep 17 00:00:00 2001
2From: Thorsten Glaser <tg@mirbsd.org> 2From: Thorsten Glaser <tg@mirbsd.org>
3Date: Fri, 20 Jun 2014 10:56:27 +0000 3Date: Fri, 20 Jun 2014 10:56:27 +0000
4Subject: [PATCH 4/6] Restore compatibility to dietlibc, klibc, musl libc after commit 4f1b108 4Subject: [PATCH 4/9] Restore compatibility to dietlibc, klibc, musl libc after
5 commit 4f1b108
6MIME-Version: 1.0
7Content-Type: text/plain; charset=UTF-8
8Content-Transfer-Encoding: 8bit
5 9
6Each C library has their own way to define off_t, and the <features.h> 10Each C library has their own way to define off_t, and the <features.h>
7header is nonstandard and specific to the GNU libc and those that clone 11header is nonstandard and specific to the GNU libc and those that clone
@@ -21,7 +25,7 @@ Fixes:
21| ^ 25| ^
22| compilation terminated. 26| compilation terminated.
23 27
24Upstream-Status: Pending 28Upstream-Status: Submitted
25 29
26Signed-off-by: Thorsten Glaser <tg@mirbsd.org> 30Signed-off-by: Thorsten Glaser <tg@mirbsd.org>
27Signed-off-by: Andrea Adami <andrea.adami@gmail.com> 31Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
@@ -30,7 +34,7 @@ Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
30 1 file changed, 24 insertions(+) 34 1 file changed, 24 insertions(+)
31 35
32diff --git a/include/common.h b/include/common.h 36diff --git a/include/common.h b/include/common.h
33index 6895e5c..77f3f7d 100644 37index fb0ca83..5a20964 100644
34--- a/include/common.h 38--- a/include/common.h
35+++ b/include/common.h 39+++ b/include/common.h
36@@ -26,7 +26,9 @@ 40@@ -26,7 +26,9 @@
@@ -43,7 +47,7 @@ index 6895e5c..77f3f7d 100644
43 #include <inttypes.h> 47 #include <inttypes.h>
44 #include "version.h" 48 #include "version.h"
45 49
46@@ -52,6 +54,21 @@ extern "C" { 50@@ -67,6 +69,21 @@ extern "C" {
47 #endif 51 #endif
48 52
49 /* define a print format specifier for off_t */ 53 /* define a print format specifier for off_t */
@@ -65,7 +69,7 @@ index 6895e5c..77f3f7d 100644
65 #ifdef __USE_FILE_OFFSET64 69 #ifdef __USE_FILE_OFFSET64
66 #define PRIxoff_t PRIx64 70 #define PRIxoff_t PRIx64
67 #define PRIdoff_t PRId64 71 #define PRIdoff_t PRId64
68@@ -59,6 +76,13 @@ extern "C" { 72@@ -74,6 +91,13 @@ extern "C" {
69 #define PRIxoff_t "l"PRIx32 73 #define PRIxoff_t "l"PRIx32
70 #define PRIdoff_t "l"PRId32 74 #define PRIdoff_t "l"PRId32
71 #endif 75 #endif
@@ -80,5 +84,5 @@ index 6895e5c..77f3f7d 100644
80 /* Verbose messages */ 84 /* Verbose messages */
81 #define bareverbose(verbose, fmt, ...) do { \ 85 #define bareverbose(verbose, fmt, ...) do { \
82-- 86--
831.9.1 872.7.4
84 88
diff --git a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0005-common.h-klibc-fixes-2.patch b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0005-common.h-more-workarounds-for-klibc-compatibility.patch
index 6b09c14d6c..8309a72715 100644
--- a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0005-common.h-klibc-fixes-2.patch
+++ b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0005-common.h-more-workarounds-for-klibc-compatibility.patch
@@ -1,7 +1,7 @@
1From 8318852ef4f768bed31072aa7b57e11adc1f639c Mon Sep 17 00:00:00 2001 1From 5d4a66b502003ef385dab31a17012246407e7364 Mon Sep 17 00:00:00 2001
2From: Andrea Adami <andrea.adami@gmail.com> 2From: Andrea Adami <andrea.adami@gmail.com>
3Date: Sun, 29 Jun 2014 00:44:03 +0200 3Date: Sun, 29 Jun 2014 00:44:03 +0200
4Subject: [PATCH 5/6] common.h: more workarounds for klibc compatibility 4Subject: [PATCH 5/9] common.h: more workarounds for klibc compatibility
5 5
6Patch is addressing two issues: 6Patch is addressing two issues:
7* First, Klibc doesn't have rpmatch(). 7* First, Klibc doesn't have rpmatch().
@@ -15,18 +15,18 @@ Fixes:
15| .../git/./include/common.h:157: undefined reference to `getline' 15| .../git/./include/common.h:157: undefined reference to `getline'
16| .../git/./include/common.h:164: undefined reference to `rpmatch' 16| .../git/./include/common.h:164: undefined reference to `rpmatch'
17 17
18Upstream-Status: Pending 18Upstream-Status: Submitted
19 19
20Signed-off-by: Andrea Adami <andrea.adami@gmail.com> 20Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
21--- 21---
22 include/common.h | 10 ++++++---- 22 include/common.h | 8 +++++---
23 1 file changed, 6 insertions(+), 4 deletions(-) 23 1 file changed, 5 insertions(+), 3 deletions(-)
24 24
25Index: git/include/common.h 25diff --git a/include/common.h b/include/common.h
26=================================================================== 26index 5a20964..2f51e1c 100644
27--- git.orig/include/common.h 27--- a/include/common.h
28+++ git/include/common.h 28+++ b/include/common.h
29@@ -161,15 +161,17 @@ static inline int __rpmatch(const char * 29@@ -161,15 +161,17 @@ static inline int __rpmatch(const char *resp)
30 */ 30 */
31 static inline bool prompt(const char *msg, bool def) 31 static inline bool prompt(const char *msg, bool def)
32 { 32 {
@@ -47,3 +47,6 @@ Index: git/include/common.h
47 printf("failed to read prompt; assuming '%s'\n", 47 printf("failed to read prompt; assuming '%s'\n",
48 def ? "yes" : "no"); 48 def ? "yes" : "no");
49 break; 49 break;
50--
512.7.4
52
diff --git a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0006-libiniparser-remove-unused-function-needing-float.patch b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0006-libiniparser-remove-unused-function-needing-float.patch
index 043a89d67e..d046f95050 100644
--- a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0006-libiniparser-remove-unused-function-needing-float.patch
+++ b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0006-libiniparser-remove-unused-function-needing-float.patch
@@ -1,7 +1,7 @@
1From 72a04a9b9ed33c889d2e2b86f306c5be9f6cde35 Mon Sep 17 00:00:00 2001 1From 2af30e9b2988111e45ed6ea6af55e49ec7cb1cb1 Mon Sep 17 00:00:00 2001
2From: Andrea Adami <andrea.adami@gmail.com> 2From: Andrea Adami <andrea.adami@gmail.com>
3Date: Sun, 29 Jun 2014 00:44:57 +0200 3Date: Sun, 29 Jun 2014 00:44:57 +0200
4Subject: [PATCH 6/6] libiniparser: remove unused function needing float 4Subject: [PATCH 6/9] libiniparser: remove unused function needing float
5 5
6Fixes: 6Fixes:
7| LD ubi-utils/ubiformat 7| LD ubi-utils/ubiformat
@@ -13,7 +13,7 @@ Fixes:
13Grep doesn't reveal any occurrence of iniparser_getdouble(), using atof() so 13Grep doesn't reveal any occurrence of iniparser_getdouble(), using atof() so
14remove it: floating-point is not supported in klibc 14remove it: floating-point is not supported in klibc
15 15
16Upstream-Status: Pending 16Upstream-Status: Accepted
17 17
18Signed-off-by: Andrea Adami <andrea.adami@gmail.com> 18Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
19--- 19---
@@ -81,5 +81,5 @@ index 898f57f..ba70c08 100644
81 @param d Dictionary to search 81 @param d Dictionary to search
82 @param key Key string to look for 82 @param key Key string to look for
83-- 83--
841.9.1 842.7.4
85 85
diff --git a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0007-mtd-utils-common.c-convert-to-integer-arithmetic.patch b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0007-mtd-utils-common.c-convert-to-integer-arithmetic.patch
new file mode 100644
index 0000000000..36b012f901
--- /dev/null
+++ b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0007-mtd-utils-common.c-convert-to-integer-arithmetic.patch
@@ -0,0 +1,64 @@
1From 41e7c76b0853bf5241b38b8167dfd57c27fef1eb Mon Sep 17 00:00:00 2001
2From: Andrea Adami <andrea.adami@gmail.com>
3Date: Sun, 28 Jan 2018 21:47:59 +0100
4Subject: [PATCH 7/9] mtd-utils: common.c: convert to integer arithmetic
5
6We use floating point just to print out KiB, MiB, GiB.
7Avoid that to be klibc friendly.
8
9Fixes compilation for aarch64 against klibc:
10
11error: '-mgeneral-regs-only' is incompatible with floating-point argument
12| printf("%s%.1f GiB", p, (double)bytes / (1024 * 1024 * 1024));
13etc.
14
15Note:
16* In the KiB case, we could apparently multiply by 100 before dividing
17 without risking overflow. This code simply avoids multiplications.
18
19Upstream-Status: Submitted
20
21Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
22---
23 ubi-utils/ubiutils-common.c | 18 ++++++++++++------
24 1 file changed, 12 insertions(+), 6 deletions(-)
25
26diff --git a/ubi-utils/ubiutils-common.c b/ubi-utils/ubiutils-common.c
27index 6609a6b..0ded2a4 100644
28--- a/ubi-utils/ubiutils-common.c
29+++ b/ubi-utils/ubiutils-common.c
30@@ -107,6 +107,9 @@ long long ubiutils_get_bytes(const char *str)
31 void ubiutils_print_bytes(long long bytes, int bracket)
32 {
33 const char *p;
34+ int GiB = 1024 * 1024 * 1024;
35+ int MiB = 1024 * 1024;
36+ int KiB = 1024;
37
38 if (bracket)
39 p = " (";
40@@ -115,12 +118,15 @@ void ubiutils_print_bytes(long long bytes, int bracket)
41
42 printf("%lld bytes", bytes);
43
44- if (bytes > 1024 * 1024 * 1024)
45- printf("%s%.1f GiB", p, (double)bytes / (1024 * 1024 * 1024));
46- else if (bytes > 1024 * 1024)
47- printf("%s%.1f MiB", p, (double)bytes / (1024 * 1024));
48- else if (bytes > 1024 && bytes != 0)
49- printf("%s%.1f KiB", p, (double)bytes / 1024);
50+ if (bytes > GiB)
51+ printf("%s%lld.%lld GiB", p,
52+ bytes / GiB, bytes % GiB / (GiB / 10));
53+ else if (bytes > MiB)
54+ printf("%s%lld.%lld MiB", p,
55+ bytes / MiB, bytes % MiB / (MiB / 10));
56+ else if (bytes > KiB && bytes != 0)
57+ printf("%s%lld.%lld KiB", p,
58+ bytes / KiB, bytes % KiB / (KiB / 10));
59 else
60 return;
61
62--
632.7.4
64
diff --git a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0008-ubi-utils-ubiformat.c-convert-to-integer-arithmetic.patch b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0008-ubi-utils-ubiformat.c-convert-to-integer-arithmetic.patch
new file mode 100644
index 0000000000..5bd05742c8
--- /dev/null
+++ b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0008-ubi-utils-ubiformat.c-convert-to-integer-arithmetic.patch
@@ -0,0 +1,44 @@
1From e6f1a85c0a3df24fe3ca9a520dc697105e75a80c Mon Sep 17 00:00:00 2001
2From: Andrea Adami <andrea.adami@gmail.com>
3Date: Sat, 27 Jan 2018 09:39:26 +0100
4Subject: [PATCH 8/9] ubi-utils: ubiformat.c: convert to integer arithmetic
5
6Do not cast percent to double, it is just used as upper limit.
7Avoid floating point to fix compilation for aarch64 against klibc:
8
9error: '-mgeneral-regs-only' is incompatible with floating-point code
10| int percent = ((double)si->ok_cnt)/si->good_cnt * 100;
11| ^~~~~~~
12
13Notes:
14* The checks in the code above this line ensure that si->good_cnt is not 0.
15
16* The code assumes si->good_cnt * 100 will not overflow, then we can use
17 (si->ok_cnt * 100) safely because the former is bigger.
18
19* The truncated result does not affect the logic:
20 i.e. a value of 49.9 is truncated to 49 and is still <50.
21
22Upstream-Status: Submitted
23
24Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
25---
26 ubi-utils/ubiformat.c | 2 +-
27 1 file changed, 1 insertion(+), 1 deletion(-)
28
29diff --git a/ubi-utils/ubiformat.c b/ubi-utils/ubiformat.c
30index 21409ca..d93164a 100644
31--- a/ubi-utils/ubiformat.c
32+++ b/ubi-utils/ubiformat.c
33@@ -843,7 +843,7 @@ int main(int argc, char * const argv[])
34 }
35
36 if (!args.override_ec && si->empty_cnt < si->good_cnt) {
37- int percent = ((double)si->ok_cnt)/si->good_cnt * 100;
38+ int percent = (si->ok_cnt * 100) / si->good_cnt;
39
40 /*
41 * Make sure the majority of eraseblocks have valid
42--
432.7.4
44
diff --git a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0009-Eliminate-warnings-about-implicit-non-const-casting-.patch b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0009-Eliminate-warnings-about-implicit-non-const-casting-.patch
new file mode 100644
index 0000000000..658246add6
--- /dev/null
+++ b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0009-Eliminate-warnings-about-implicit-non-const-casting-.patch
@@ -0,0 +1,48 @@
1From 2229f3b9fd4bad47794c28e558ad273173cea73d Mon Sep 17 00:00:00 2001
2From: Andrea Adami <andrea.adami@gmail.com>
3Date: Sat, 27 Jan 2018 09:52:46 +0100
4Subject: [PATCH 9/9] Eliminate warnings about implicit non-const casting in
5 libmtd
6
7The mtd_get_dev_info1 function reads (among other things) name and type
8string into coresponding struct mtd_dev_info fields.
9
10The struct mtd_dev_info has the string fields marked const, requiring
11them to be cast to non-const version during initialization.
12
13This cast was previously omitted from the dev_read_data calls,
14triggering warnings during compilation.
15
16Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
17Signed-off-by: Richard Weinberger <richard@nod.at>
18
19Upstream-Status: Backport
20
21Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
22---
23 lib/libmtd.c | 4 ++--
24 1 file changed, 2 insertions(+), 2 deletions(-)
25
26diff --git a/lib/libmtd.c b/lib/libmtd.c
27index 60b4782..5f0bcbc 100644
28--- a/lib/libmtd.c
29+++ b/lib/libmtd.c
30@@ -746,13 +746,13 @@ int mtd_get_dev_info1(libmtd_t desc, int mtd_num, struct mtd_dev_info *mtd)
31 if (dev_get_major(lib, mtd_num, &mtd->major, &mtd->minor))
32 return -1;
33
34- ret = dev_read_data(lib->mtd_name, mtd_num, &mtd->name,
35+ ret = dev_read_data(lib->mtd_name, mtd_num, (char *)&mtd->name,
36 MTD_NAME_MAX + 1);
37 if (ret < 0)
38 return -1;
39 ((char *)mtd->name)[ret - 1] = '\0';
40
41- ret = dev_read_data(lib->mtd_type, mtd_num, &mtd->type_str,
42+ ret = dev_read_data(lib->mtd_type, mtd_num, (char *)&mtd->type_str,
43 MTD_TYPE_MAX + 1);
44 if (ret < 0)
45 return -1;
46--
472.7.4
48
diff --git a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_1.5.2.bb b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_1.5.2.bb
index 518c02fc00..abb0d4b846 100644
--- a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_1.5.2.bb
+++ b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_1.5.2.bb
@@ -11,12 +11,15 @@ inherit klibc
11 11
12SRCREV = "aea36417067dade75192bafa03af70b6eb2677b1" 12SRCREV = "aea36417067dade75192bafa03af70b6eb2677b1"
13SRC_URI = "git://git.infradead.org/mtd-utils.git \ 13SRC_URI = "git://git.infradead.org/mtd-utils.git \
14 file://0001-Makefile-only-build-ubi-utils.patch \ 14 file://0001-Makefile-build-ubi-utils-only.patch \
15 file://0002-common.mk-for-klibc-CC-is-klcc.patch \ 15 file://0002-common.mk-for-klibc-CC-is-klcc.patch \
16 file://0003-libubi.c-add-klibc-specific-fixes.patch \ 16 file://0003-libubi.c-add-klibc-specific-fixes-for-ioctl.patch \
17 file://0004-common.h-klibc-fixes-1.patch \ 17 file://0004-Restore-compatibility-to-dietlibc-klibc-musl-libc-af.patch \
18 file://0005-common.h-klibc-fixes-2.patch \ 18 file://0005-common.h-more-workarounds-for-klibc-compatibility.patch \
19 file://0006-libiniparser-remove-unused-function-needing-float.patch \ 19 file://0006-libiniparser-remove-unused-function-needing-float.patch \
20 file://0007-mtd-utils-common.c-convert-to-integer-arithmetic.patch \
21 file://0008-ubi-utils-ubiformat.c-convert-to-integer-arithmetic.patch \
22 file://0009-Eliminate-warnings-about-implicit-non-const-casting-.patch \
20 " 23 "
21 24
22S = "${WORKDIR}/git/" 25S = "${WORKDIR}/git/"