From 3cbdc13bc1367a6fdc9bc2afadfae21b74d7c781 Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Sat, 19 Jun 2021 21:31:35 -0500 Subject: tools/squashfskit4: fix compilation under big endian The macro used is for the wrong struct. Just byte swap manually. Refreshed patches. Tested on sparc64. Signed-off-by: Rosen Penev --- tools/squashfskit4/patches/0020-big-endian.patch | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 tools/squashfskit4/patches/0020-big-endian.patch (limited to 'tools/squashfskit4/patches/0020-big-endian.patch') diff --git a/tools/squashfskit4/patches/0020-big-endian.patch b/tools/squashfskit4/patches/0020-big-endian.patch new file mode 100644 index 0000000000..b388cb4d12 --- /dev/null +++ b/tools/squashfskit4/patches/0020-big-endian.patch @@ -0,0 +1,14 @@ +--- a/squashfs-tools/xz_wrapper.c ++++ b/squashfs-tools/xz_wrapper.c +@@ -192,7 +192,10 @@ static void xz_display_options(void *buf + if(size != sizeof(struct comp_opts)) + goto failed; + +- SQUASHFS_INSWAP_LZMA_COMP_OPTS(comp_opts); ++#if __BYTE_ORDER == __BIG_ENDIAN ++ comp_opts->dictionary_size = inswap_le32(comp_opts->dictionary_size); ++ comp_opts->flags = inswap_le32(comp_opts->flags); ++#endif + + dictionary_size = comp_opts->dictionary_size; + flags = comp_opts->flags; -- cgit v1.2.3