summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/file-systems.scm1
-rw-r--r--gnu/packages/patches/jfsutils-gcc-compat.patch72
2 files changed, 73 insertions, 0 deletions
diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm
index eb424224b9..e2335b8a86 100644
--- a/gnu/packages/file-systems.scm
+++ b/gnu/packages/file-systems.scm
@@ -576,6 +576,7 @@ single file can be mounted.")
        (sha256
         (base32 "0kbsy2sk1jv4m82rxyl25gwrlkzvl3hzdga9gshkxkhm83v1aji4"))
        (patches (search-patches "jfsutils-add-sysmacros.patch"
+                                "jfsutils-gcc-compat.patch"
                                 "jfsutils-include-systypes.patch"))))
     (build-system gnu-build-system)
     (inputs
diff --git a/gnu/packages/patches/jfsutils-gcc-compat.patch b/gnu/packages/patches/jfsutils-gcc-compat.patch
new file mode 100644
index 0000000000..45b6ec25a1
--- /dev/null
+++ b/gnu/packages/patches/jfsutils-gcc-compat.patch
@@ -0,0 +1,72 @@
+Various fixes for building with GCC 10.
+
+Taken from Debian:
+https://sources.debian.org/patches/jfsutils/1.1.15-5/gcc10_fix-1.patch/
+
+--- jfsutils-1.1.15.old/fscklog/display.c	2005-11-22 21:43:54.000000000 +0100
++++ jfsutils-1.1.15.new/fscklog/display.c	2020-05-21 18:15:13.410617620 +0200
+@@ -54,7 +54,7 @@
+  * output: fsck extracted service log I/O buffer
+  *
+  */
+-char xchklog_buffer[XCHKLOG_BUFSIZE];
++static char xchklog_buffer[XCHKLOG_BUFSIZE];
+ 
+ /* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+  *
+diff -ur --exclude '*.o' --exclude '*.a' jfsutils-1.1.15.old/libfs/logredo.c jfsutils-1.1.15.new/libfs/logredo.c
+--- jfsutils-1.1.15.old/libfs/logredo.c	2005-11-22 21:43:55.000000000 +0100
++++ jfsutils-1.1.15.new/libfs/logredo.c	2020-05-21 18:19:44.927703271 +0200
+@@ -87,9 +87,9 @@
+  *    S T U F F    F O R    T H E    L O G
+  *
+  */
+-struct logsuper logsup;		/* log super block */
+-int32_t numdoblk;		/* number of do blocks used     */
+-int32_t numnodofile;		/* number of nodo file blocks used  */
++static struct logsuper logsup;		/* log super block */
++static int32_t numdoblk;		/* number of do blocks used     */
++static int32_t numnodofile;		/* number of nodo file blocks used  */
+ int32_t numExtDtPg = 0;		/* number of extended dtpage blocks used  */
+ 
+ /*
+@@ -129,7 +129,7 @@
+  */
+ 
+ /* buffer header table */
+-struct bufhdr {
++static struct bufhdr {
+ 	int16_t next;		/* 2: next on free/lru list */
+ 	int16_t prev;		/* 2: previous on free/lru list */
+ 	int16_t hnext;		/* 2: next on hash chain */
+@@ -142,7 +142,7 @@
+ } bufhdr[NBUFPOOL];		/* (24) */
+ 
+ /* buffer table */
+-struct bufpool {
++static struct bufpool {
+ 	char bytes[PSIZE];
+ } buffer[NBUFPOOL - 1];
+ 
+@@ -151,15 +151,16 @@
+  *
+  * log has its own 4 page buffer pool.
+  */
+-uint8_t afterdata[LOGPSIZE * 2];	/* buffer to read in redopage data */
++static uint8_t afterdata[LOGPSIZE * 2];	/* buffer to read in redopage data */
+ 
+ /*
+  * Miscellaneous
+  */
+-caddr_t prog;			/* Program name */
+-int32_t mntcnt, bufsize;
+-char *mntinfo;
+-int32_t retcode;		/* return code from logredo    */
++static caddr_t prog;			/* Program name */
++extern int32_t mntcnt;
++static int32_t bufsize;
++static char *mntinfo;
++static int32_t retcode;		/* return code from logredo    */
+ int end_of_transaction = 0;
+ 
+ /*