package/erofs-utils: fix autobuild on arm platform
authorGao Xiang <hsiangkao@aol.com>
Tue, 24 Mar 2020 15:19:42 +0000 (23:19 +0800)
committerYann E. MORIN <yann.morin.1998@free.fr>
Tue, 24 Mar 2020 21:06:04 +0000 (22:06 +0100)
Add a patch to avoid uint type, which resolves buildroot
arm autobuild error.
http://autobuild.buildroot.net/results/842a3c6416416d7badf4db9f38e3b231093a786a

Signed-off-by: Gao Xiang <hsiangkao@aol.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
package/erofs-utils/0003-erofs-utils-avoid-using-old-compatibility-type-uint.patch [new file with mode: 0644]

diff --git a/package/erofs-utils/0003-erofs-utils-avoid-using-old-compatibility-type-uint.patch b/package/erofs-utils/0003-erofs-utils-avoid-using-old-compatibility-type-uint.patch
new file mode 100644 (file)
index 0000000..cef1256
--- /dev/null
@@ -0,0 +1,75 @@
+From 873c932b1119531355df23bacc3cf6824231804b Mon Sep 17 00:00:00 2001
+From: Gao Xiang <hsiangkao@aol.com>
+Date: Tue, 24 Mar 2020 16:19:49 +0800
+Subject: [PATCH] erofs-utils: avoid using old compatibility type uint
+
+This should fix the following buildroot autobuild issues
+with some configration on ARM platform [1]:
+
+compress.c: In function 'vle_compress_one':
+compress.c:209:10: error: unknown type name 'uint'
+    const uint qh_aligned = round_down(ctx->head, EROFS_BLKSIZ);
+          ^~~~
+compress.c:210:10: error: unknown type name 'uint'
+    const uint qh_after = ctx->head - qh_aligned;
+          ^~~~
+compress.c: In function 'z_erofs_convert_to_compacted_format':
+compress.c:313:8: error: unknown type name 'uint'
+  const uint headerpos = Z_EROFS_VLE_EXTENT_ALIGN(inode->inode_isize +
+        ^~~~
+compress.c:316:8: error: unknown type name 'uint'
+  const uint totalidx = (legacymetasize -
+        ^~~~
+
+[1] http://autobuild.buildroot.net/results/842a3c6416416d7badf4db9f38e3b231093a786a
+Link: https://lore.kernel.org/r/20200324081949.26355-1-hsiangkao@aol.com
+Signed-off-by: Gao Xiang <hsiangkao@aol.com>
+---
+ lib/compress.c | 17 +++++++++--------
+ 1 file changed, 9 insertions(+), 8 deletions(-)
+
+diff --git a/lib/compress.c b/lib/compress.c
+index b14ff17..6cc68ed 100644
+--- a/lib/compress.c
++++ b/lib/compress.c
+@@ -204,8 +204,9 @@ nocompression:
+               len -= count;
+               if (!final && ctx->head >= EROFS_CONFIG_COMPR_MAX_SZ) {
+-                      const uint qh_aligned = round_down(ctx->head, EROFS_BLKSIZ);
+-                      const uint qh_after = ctx->head - qh_aligned;
++                      const unsigned int qh_aligned =
++                              round_down(ctx->head, EROFS_BLKSIZ);
++                      const unsigned int qh_after = ctx->head - qh_aligned;
+                       memmove(ctx->queue, ctx->queue + qh_aligned,
+                               len + qh_after);
+@@ -308,11 +309,11 @@ int z_erofs_convert_to_compacted_format(struct erofs_inode *inode,
+                                       unsigned int legacymetasize,
+                                       unsigned int logical_clusterbits)
+ {
+-      const uint headerpos = Z_EROFS_VLE_EXTENT_ALIGN(inode->inode_isize +
+-                                                      inode->xattr_isize) +
+-                             sizeof(struct z_erofs_map_header);
+-      const uint totalidx = (legacymetasize -
+-                             Z_EROFS_LEGACY_MAP_HEADER_SIZE) / 8;
++      const unsigned int mpos = Z_EROFS_VLE_EXTENT_ALIGN(inode->inode_isize +
++                                                         inode->xattr_isize) +
++                                sizeof(struct z_erofs_map_header);
++      const unsigned int totalidx = (legacymetasize -
++                                     Z_EROFS_LEGACY_MAP_HEADER_SIZE) / 8;
+       u8 *out, *in;
+       struct z_erofs_compressindex_vec cv[16];
+       /* # of 8-byte units so that it can be aligned with 32 bytes */
+@@ -324,7 +325,7 @@ int z_erofs_convert_to_compacted_format(struct erofs_inode *inode,
+       if (logical_clusterbits > 14)   /* currently not supported */
+               return -ENOTSUP;
+       if (logical_clusterbits == 12) {
+-              compacted_4b_initial = (32 - headerpos % 32) / 4;
++              compacted_4b_initial = (32 - mpos % 32) / 4;
+               if (compacted_4b_initial == 32 / 4)
+                       compacted_4b_initial = 0;
+-- 
+2.20.1
+