From: Robert Marko Date: Thu, 19 Mar 2020 11:22:07 +0000 (+0100) Subject: tools: squashfskit4: fix build with GCC10 X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=be4ed1db18e68cc57f03788b4529afbbf629411c;p=openwrt%2Fstaging%2Frmilecki.git tools: squashfskit4: fix build with GCC10 In order to build squashfskit with GCC10, this backport from upstream is needed. Signed-off-by: Robert Marko [increase PKG_RELEASE] Signed-off-by: Alexander Couzens --- diff --git a/tools/squashfskit4/Makefile b/tools/squashfskit4/Makefile index 4d099b59c35..396a7c0edc5 100644 --- a/tools/squashfskit4/Makefile +++ b/tools/squashfskit4/Makefile @@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=squashfskit4 PKG_VERSION:=4.14 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE:=squashfskit-v$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=https://github.com/squashfskit/squashfskit/releases/download/v$(PKG_VERSION)/ PKG_HASH:=5761aaa3aedc4f7112b708367d891c9abdc1ffea972e3fe47923ddba23984d95 diff --git a/tools/squashfskit4/patches/0002-fix-build-failure-against-gcc-10.patch b/tools/squashfskit4/patches/0002-fix-build-failure-against-gcc-10.patch new file mode 100644 index 00000000000..46c6a5ea0fc --- /dev/null +++ b/tools/squashfskit4/patches/0002-fix-build-failure-against-gcc-10.patch @@ -0,0 +1,43 @@ +From fe2f5da4b0f8994169c53e84b7cb8a0feefc97b5 Mon Sep 17 00:00:00 2001 +From: Sergei Trofimovich +Date: Sun, 26 Jan 2020 18:35:13 +0000 +Subject: [PATCH] squashfs-tools: fix build failure against gcc-10 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +On gcc-10 (and gcc-9 -fno-common) build fails as: + +``` +cc ... -o mksquashfs +ld: read_fs.o:(.bss+0x0): + multiple definition of `fwriter_buffer'; mksquashfs.o:(.bss+0x400c90): first defined here +ld: read_fs.o:(.bss+0x8): + multiple definition of `bwriter_buffer'; mksquashfs.o:(.bss+0x400c98): first defined here +``` + +gcc-10 will change the default from -fcommon to fno-common: +https://gcc.gnu.org/PR85678. + +The error also happens if CFLAGS=-fno-common passed explicitly. + +Reported-by: Toralf Förster +Bug: https://bugs.gentoo.org/706456 +Signed-off-by: Sergei Trofimovich +--- + squashfs-tools/mksquashfs.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/squashfs-tools/mksquashfs.h b/squashfs-tools/mksquashfs.h +index 1beefef7..b6503063 100644 +--- a/squashfs-tools/mksquashfs.h ++++ b/squashfs-tools/mksquashfs.h +@@ -143,7 +143,7 @@ struct append_file { + #endif + + extern struct cache *reader_buffer, *fragment_buffer, *reserve_cache; +-struct cache *bwriter_buffer, *fwriter_buffer; ++extern struct cache *bwriter_buffer, *fwriter_buffer; + extern struct queue *to_reader, *to_deflate, *to_writer, *from_writer, + *to_frag, *locked_fragment, *to_process_frag; + extern struct append_file **file_mapping;