mirror of
https://git.yoctoproject.org/poky
synced 2026-04-30 21:32:13 +02:00
mdadm: Fix build with gcc8
(From OE-Core rev: 9bba9c2f1721673881fa8b460887ddebffad538e) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
@@ -0,0 +1,130 @@
|
||||
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
|
||||
|
||||
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 +++++
|
||||
5 files changed, 22 insertions(+), 1 deletion(-)
|
||||
|
||||
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;
|
||||
@@ -0,0 +1,31 @@
|
||||
From ab18f04cf89ef4e8521c81c50477e1363b2d333b Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Sat, 28 Apr 2018 09:46:12 -0700
|
||||
Subject: [PATCH] use memmove instead of memcpy on overlapping region
|
||||
|
||||
Fixes
|
||||
super0.c:526:3: error: 'memcpy' accessing 3936 bytes at offsets 156 and 160 overlaps 3932 bytes at offset 160 [-Werror=restrict]
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
super0.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/super0.c b/super0.c
|
||||
index f5b4507..264b598 100644
|
||||
--- a/super0.c
|
||||
+++ b/super0.c
|
||||
@@ -523,7 +523,7 @@ static int update_super0(struct supertype *st, struct mdinfo *info,
|
||||
* up 4 bytes before continuing
|
||||
*/
|
||||
__u32 *sb32 = (__u32*)sb;
|
||||
- memcpy(sb32+MD_SB_GENERIC_CONSTANT_WORDS+7,
|
||||
+ memmove(sb32+MD_SB_GENERIC_CONSTANT_WORDS+7,
|
||||
sb32+MD_SB_GENERIC_CONSTANT_WORDS+7+1,
|
||||
(MD_SB_WORDS - (MD_SB_GENERIC_CONSTANT_WORDS+7+1))*4);
|
||||
if (verbose >= 0)
|
||||
--
|
||||
2.17.0
|
||||
|
||||
@@ -22,6 +22,8 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/raid/mdadm/${BPN}-${PV}.tar.xz \
|
||||
file://0004-mdadm-Forced-type-conversion-to-avoid-truncation.patch \
|
||||
file://0005-Add-a-comment-to-indicate-valid-fallthrough.patch \
|
||||
file://0001-Use-CC-to-check-for-implicit-fallthrough-warning-sup.patch \
|
||||
file://0001-use-memmove-instead-of-memcpy-on-overlapping-region.patch \
|
||||
file://0001-Disable-gcc8-warnings.patch \
|
||||
"
|
||||
SRC_URI[md5sum] = "2cb4feffea9167ba71b5f346a0c0a40d"
|
||||
SRC_URI[sha256sum] = "1d6ae7f24ced3a0fa7b5613b32f4a589bb4881e3946a5a2c3724056254ada3a9"
|
||||
|
||||
Reference in New Issue
Block a user