aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorHauke Mehrtens <hauke@hauke-m.de>2020-05-24 12:23:31 +0200
committerHauke Mehrtens <hauke@hauke-m.de>2020-05-24 14:38:40 +0200
commit1bbc1aa884902fd05cc579b53d68b2ba0b18683f (patch)
treee94686dc28785c09d189ffe957c0e3a5b2627a79 /tools
parente35e40ad824eab9d51cdd690fb747e576e01412f (diff)
downloadupstream-1bbc1aa884902fd05cc579b53d68b2ba0b18683f.tar.gz
upstream-1bbc1aa884902fd05cc579b53d68b2ba0b18683f.tar.bz2
upstream-1bbc1aa884902fd05cc579b53d68b2ba0b18683f.zip
squashfs: Fix compile with GCC 10
Fixes the following build error with GCC 10: /usr/bin/ld: read_fs.o:(.bss+0x0): multiple definition of `swap'; mksquashfs.o:(.bss+0x1b2a88): first defined here And a compile warning. Fixes: FS#3104, FS#3119 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Diffstat (limited to 'tools')
-rw-r--r--tools/squashfs/patches/140-gcc-10-fix.patch25
1 files changed, 25 insertions, 0 deletions
diff --git a/tools/squashfs/patches/140-gcc-10-fix.patch b/tools/squashfs/patches/140-gcc-10-fix.patch
new file mode 100644
index 0000000000..a02641f307
--- /dev/null
+++ b/tools/squashfs/patches/140-gcc-10-fix.patch
@@ -0,0 +1,25 @@
+Fixes the following build error with GCC 10:
+ /usr/bin/ld: read_fs.o:(.bss+0x0): multiple definition of `swap'; mksquashfs.o:(.bss+0x1b2a88): first defined here
+And a compile warning.
+
+--- a/squashfs-tools/read_fs.c
++++ b/squashfs-tools/read_fs.c
+@@ -61,7 +61,7 @@ extern int add_file(long long, long long
+ fprintf(stderr, s, ## args); \
+ } while(0)
+
+-int swap;
++static int swap;
+
+ int read_block(int fd, long long start, long long *next, unsigned char *block, squashfs_super_block *sBlk)
+ {
+--- a/squashfs-tools/mksquashfs.c
++++ b/squashfs-tools/mksquashfs.c
+@@ -258,6 +258,7 @@ int read_sort_file(char *filename, int s
+ void sort_files_and_write(struct dir_info *dir);
+ struct file_info *duplicate(char *(get_next_file_block)(struct duplicate_buffer_handle *, unsigned int), struct duplicate_buffer_handle *file_start, long long bytes, unsigned int **block_list, long long *start, int blocks, struct fragment **fragment, char *frag_data, int frag_bytes);
+ struct dir_info *dir_scan1(char *, int (_readdir)(char *, char *, struct dir_info *));
++int dir_scan2(squashfs_inode *inode, struct dir_info *dir_info);
+
+ #define MKINODE(A) ((squashfs_inode)(((squashfs_inode) inode_bytes << 16) + (((char *)A) - data_cache)))
+