Andrew Geissler | 1e34c2d | 2020-05-29 16:02:59 -0500 | [diff] [blame^] | 1 | From 94e1911ca24726b7cb3efe2f8b9eb7a784757e18 Mon Sep 17 00:00:00 2001 |
| 2 | From: Sergei Trofimovich <slyfox@gentoo.org> |
| 3 | Date: Sun, 26 Jan 2020 18:35:13 +0000 |
| 4 | Subject: [PATCH] squashfs-tools: fix build failure against gcc-10 |
| 5 | MIME-Version: 1.0 |
| 6 | Content-Type: text/plain; charset=UTF-8 |
| 7 | Content-Transfer-Encoding: 8bit |
| 8 | |
| 9 | On gcc-10 (and gcc-9 -fno-common) build fails as: |
| 10 | |
| 11 | ``` |
| 12 | cc ... -o mksquashfs |
| 13 | ld: read_fs.o:(.bss+0x0): |
| 14 | multiple definition of `fwriter_buffer'; mksquashfs.o:(.bss+0x400c90): first defined here |
| 15 | ld: read_fs.o:(.bss+0x8): |
| 16 | multiple definition of `bwriter_buffer'; mksquashfs.o:(.bss+0x400c98): first defined here |
| 17 | ``` |
| 18 | |
| 19 | gcc-10 will change the default from -fcommon to fno-common: |
| 20 | https://gcc.gnu.org/PR85678. |
| 21 | |
| 22 | The error also happens if CFLAGS=-fno-common passed explicitly. |
| 23 | |
| 24 | Reported-by: Toralf Förster |
| 25 | Bug: https://bugs.gentoo.org/706456 |
| 26 | Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> |
| 27 | Signed-off-by: Jacob Kroon <jacob.kroon@gmail.com> |
| 28 | Upstream-Status: Backport [https://github.com/plougher/squashfs-tools/commit/fe2f5da4b0f8994169c53e84b7cb8a0feefc97b5] |
| 29 | --- |
| 30 | squashfs-tools/mksquashfs.h | 2 +- |
| 31 | 1 file changed, 1 insertion(+), 1 deletion(-) |
| 32 | |
| 33 | diff --git a/squashfs-tools/mksquashfs.h b/squashfs-tools/mksquashfs.h |
| 34 | index 1beefef..b650306 100644 |
| 35 | --- a/squashfs-tools/mksquashfs.h |
| 36 | +++ b/squashfs-tools/mksquashfs.h |
| 37 | @@ -143,7 +143,7 @@ struct append_file { |
| 38 | #endif |
| 39 | |
| 40 | extern struct cache *reader_buffer, *fragment_buffer, *reserve_cache; |
| 41 | -struct cache *bwriter_buffer, *fwriter_buffer; |
| 42 | +extern struct cache *bwriter_buffer, *fwriter_buffer; |
| 43 | extern struct queue *to_reader, *to_deflate, *to_writer, *from_writer, |
| 44 | *to_frag, *locked_fragment, *to_process_frag; |
| 45 | extern struct append_file **file_mapping; |