From b83218de2623c0bbe9af355a81ae8385d7f30cfc Mon Sep 17 00:00:00 2001 From: Khem Raj 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 --- 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 +#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;