forked from freifunk-franken/firmware
build_patches: backport fix for squashfs build with gcc 10
This patch is already included in the openwrt-19.07 branch, so our backport can be removed when upgrading to or past OpenWrt 19.07.4. Signed-off-by: Fabian Bläse <fabian@blaese.de> Reviewed-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> [adjust commit title] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This commit is contained in:
parent
328beebe32
commit
823bcd774a
|
@ -0,0 +1,47 @@
|
||||||
|
From 1bbc1aa884902fd05cc579b53d68b2ba0b18683f Mon Sep 17 00:00:00 2001
|
||||||
|
From: Hauke Mehrtens <hauke@hauke-m.de>
|
||||||
|
Date: Sun, 24 May 2020 12:23:31 +0200
|
||||||
|
Subject: [PATCH] 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>
|
||||||
|
---
|
||||||
|
tools/squashfs/patches/140-gcc-10-fix.patch | 25 +++++++++++++++++++++
|
||||||
|
1 file changed, 25 insertions(+)
|
||||||
|
create mode 100644 tools/squashfs/patches/140-gcc-10-fix.patch
|
||||||
|
|
||||||
|
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 00000000000..a02641f3072
|
||||||
|
--- /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)))
|
||||||
|
+
|
Loading…
Reference in New Issue
Block a user