| 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; |