From d48b447e75b0d25738cb322566c8250e38216621 Mon Sep 17 00:00:00 2001 From: Andy Grover Date: Thu, 10 Dec 2020 13:57:16 -0800 Subject: [PATCH] Do not set -Wpadded except for checking kmod-shared headers Remove now-unneeded manual padding in arg structs. Signed-off-by: Andy Grover --- utils/Makefile | 1 - utils/src/cmd.c | 1 - utils/src/counters.c | 1 - utils/src/df.c | 1 - utils/src/main.c | 9 +++++++++ utils/src/mkfs.c | 1 - utils/src/print.c | 1 - utils/src/setattr.c | 1 - utils/src/stat.c | 1 - 9 files changed, 9 insertions(+), 8 deletions(-) diff --git a/utils/Makefile b/utils/Makefile index 8116bcd8..10eb66aa 100644 --- a/utils/Makefile +++ b/utils/Makefile @@ -19,7 +19,6 @@ endif SCOUTFS_FORMAT_HASH := $(shell cat $(HASH_FILES) | md5sum | cut -b1-16) CFLAGS := -Wall -O2 -Werror -D_FILE_OFFSET_BITS=64 -g -msse4.2 \ - -Wpadded \ -fno-strict-aliasing \ -DSCOUTFS_FORMAT_HASH=0x$(SCOUTFS_FORMAT_HASH)LLU diff --git a/utils/src/cmd.c b/utils/src/cmd.c index a5e590aa..ddd49710 100644 --- a/utils/src/cmd.c +++ b/utils/src/cmd.c @@ -13,7 +13,6 @@ static struct argp_command { char *name; struct argp *argp; int group; - char __pad[4]; int (*func)(int argc, char **argv); } argp_cmds[100], *next_argp_cmd = argp_cmds; diff --git a/utils/src/counters.c b/utils/src/counters.c index c71fa8bd..38105b34 100644 --- a/utils/src/counters.c +++ b/utils/src/counters.c @@ -43,7 +43,6 @@ static int cmp_counter_names(const void *A, const void *B) struct counters_args { char *sysfs_path; bool tabular; - char __pad[7]; }; static int do_counters(struct counters_args *args) diff --git a/utils/src/df.c b/utils/src/df.c index a6ca0d12..21ea9f04 100644 --- a/utils/src/df.c +++ b/utils/src/df.c @@ -26,7 +26,6 @@ struct df_args { char *path; bool human_readable; - u8 __pad[7]; }; static int do_df(struct df_args *args) diff --git a/utils/src/main.c b/utils/src/main.c index 277b8ec2..15903125 100644 --- a/utils/src/main.c +++ b/utils/src/main.c @@ -9,6 +9,15 @@ #include "cmd.h" #include "util.h" +/* + * Ensure no compiler-added padding sneaks into structs defined in these + * headers. + */ +#pragma GCC diagnostic error "-Wpadded" +#include "format.h" +#include "ioctl.h" +#pragma GCC diagnostic pop + int main(int argc, char **argv) { /* diff --git a/utils/src/mkfs.c b/utils/src/mkfs.c index 2c1936fb..7d3b582b 100644 --- a/utils/src/mkfs.c +++ b/utils/src/mkfs.c @@ -107,7 +107,6 @@ struct mkfs_args { unsigned long long max_meta_size; unsigned long long max_data_size; bool force; - char __pad[7]; }; /* diff --git a/utils/src/print.c b/utils/src/print.c index aff6110a..968068a5 100644 --- a/utils/src/print.c +++ b/utils/src/print.c @@ -658,7 +658,6 @@ out: struct print_recursion_args { struct scoutfs_super_block *super; int fd; - u8 __pad[4]; }; /* same as fs item but with a small header in the value */ diff --git a/utils/src/setattr.c b/utils/src/setattr.c index e4178f6c..dafa52a9 100644 --- a/utils/src/setattr.c +++ b/utils/src/setattr.c @@ -24,7 +24,6 @@ struct setattr_args { u64 data_version; u64 i_size; bool offline; - char __pad[7]; }; static int do_setattr(struct setattr_args *args) diff --git a/utils/src/stat.c b/utils/src/stat.c index 996d4106..812c38ef 100644 --- a/utils/src/stat.c +++ b/utils/src/stat.c @@ -107,7 +107,6 @@ struct stat_args { char *path; char *single_field; bool is_inode; - u8 __pad[7]; }; static int do_stat(struct stat_args *args)