summaryrefslogtreecommitdiffstats
path: root/meta/recipes-extended/mdadm/files/0001-Disable-gcc8-warnings.patch
blob: 739652cd5592a6fc16bdb6deebb5f96e52dc8be9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
From b83218de2623c0bbe9af355a81ae8385d7f30cfc Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 9 May 2018 12:56:41 -0700
Subject: [PATCH] Disable gcc8 warnings

This is needed until
https://bugzilla.redhat.com/show_bug.cgi?id=1553958

Fix super0.c issue which is triggered only in DEBUG_BUILD with -O1 (or any
configuration without -ftree-vrp or with -fno-tree-vrp)

super0.c: In function 'examine_super0':
super0.c:238:32: error: 'snprintf' output may be truncated before the last format character [-Werror=format-truncation=]
   snprintf(nb, sizeof(nb), "%4d", d);
                                ^

Upstream-Status: Inappropriate [Workaround]

Signed-off-by: Khem Raj <raj.khem@gmail.com>

---
 Monitor.c     | 4 +++-
 mdopen.c      | 4 ++++
 super-ddf.c   | 4 ++++
 super-intel.c | 6 ++++++
 super1.c      | 5 +++++
 super0.c      | 2 +-
 6 files changed, 22 insertions(+), 1 deletion(-)

diff --git a/super0.c b/super0.c
index f5b4507..264b598 100644
--- a/super0.c
+++ b/super0.c
@@ -231,7 +231,7 @@
 	     d++) {
 		mdp_disk_t *dp;
 		char *dv;
-		char nb[11];
+		char nb[12];
 		int wonly, failfast;
 		if (d>=0) dp = &sb->disks[d];
 		else dp = &sb->this_disk;
diff --git a/Monitor.c b/Monitor.c
index 802a9d9..23b246b 100644
--- a/Monitor.c
+++ b/Monitor.c
@@ -441,7 +441,8 @@ static void alert(char *event, char *dev, char *disc, struct alert_info *info)
 			       event, dev);
 	}
 }
-
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wformat-truncation"
 static int check_array(struct state *st, struct mdstat_ent *mdstat,
 		       int test, struct alert_info *ainfo,
 		       int increments, char *prefer)
@@ -683,6 +684,7 @@ static int check_array(struct state *st, struct mdstat_ent *mdstat,
 		return 1;
 	return 0;
 }
+#pragma GCC diagnostic pop
 
 static int add_new_arrays(struct mdstat_ent *mdstat, struct state **statelist,
 			  int test, struct alert_info *info)
diff --git a/mdopen.c b/mdopen.c
index 685ca32..406aba4 100644
--- a/mdopen.c
+++ b/mdopen.c
@@ -26,6 +26,9 @@
 #include "md_p.h"
 #include <ctype.h>
 
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wformat-truncation"
+
 void make_parts(char *dev, int cnt)
 {
 	/* make 'cnt' partition devices for 'dev'
@@ -99,6 +102,7 @@ void make_parts(char *dev, int cnt)
 	}
 	free(name);
 }
+#pragma GCC diagnostic pop
 
 /*
  * We need a new md device to assemble/build/create an array.
diff --git a/super-ddf.c b/super-ddf.c
index 1707ad1..e08d289 100644
--- a/super-ddf.c
+++ b/super-ddf.c
@@ -2846,6 +2846,9 @@ static void _set_config_size(struct phys_disk_entry *pde, const struct dl *dl)
 		(unsigned long long)cfs, (unsigned long long)(dl->size-cfs));
 }
 
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wformat-overflow"
+
 /* Add a device to a container, either while creating it or while
  * expanding a pre-existing container
  */
@@ -2981,6 +2984,7 @@ static int add_to_super_ddf(struct supertype *st,
 
 	return 0;
 }
+#pragma GCC diagnostic pop
 
 static int remove_from_super_ddf(struct supertype *st, mdu_disk_info_t *dk)
 {
diff --git a/super-intel.c b/super-intel.c
index 00a2925..44fbead 100644
--- a/super-intel.c
+++ b/super-intel.c
@@ -298,6 +298,11 @@ struct md_list {
 };
 
 #define pr_vrb(fmt, arg...) (void) (verbose && pr_err(fmt, ##arg))
+#pragma GCC diagnostic push
+# if __GNUC__ == 8
+# pragma GCC diagnostic ignored "-Wstringop-truncation"
+# endif
+#pragma GCC diagnostic ignored "-Wformat-truncation"
 
 static __u8 migr_type(struct imsm_dev *dev)
 {
@@ -11618,3 +11623,4 @@ struct superswitch super_imsm = {
 	.get_bad_blocks   = imsm_get_badblocks,
 #endif /* MDASSEMBLE */
 };
+#pragma GCC diagnostic pop
diff --git a/super1.c b/super1.c
index 87a74cb..71c515f 100644
--- a/super1.c
+++ b/super1.c
@@ -1091,6 +1091,10 @@ static struct mdinfo *container_content1(struct supertype *st, char *subarray)
 	return info;
 }
 
+#pragma GCC diagnostic push
+# if __GNUC__ == 8
+# pragma GCC diagnostic ignored "-Wstringop-truncation"
+#endif
 static int update_super1(struct supertype *st, struct mdinfo *info,
 			 char *update,
 			 char *devname, int verbose,
@@ -1473,6 +1477,7 @@ static int init_super1(struct supertype *st, mdu_array_info_t *info,
 
 	return 1;
 }
+#pragma GCC diagnostic pop
 
 struct devinfo {
 	int fd;