aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/gcc-plugins/structleak_plugin.c
diff options
context:
space:
mode:
authorKees Cook <keescook@chromium.org>2018-02-05 20:27:46 -0500
committerKees Cook <keescook@chromium.org>2018-02-05 20:27:46 -0500
commitb86729109c5fd0a480300f40608aac68764b5adf (patch)
tree0db6d7a68f0c223652413c0dc3132aa8d8ad418b /scripts/gcc-plugins/structleak_plugin.c
parent80d172431696482d9acd8d2c4ea78fed8956e2a1 (diff)
gcc-plugins: Use dynamic initializers
GCC 8 changed the order of some fields and is very picky about ordering in static initializers, so instead just move to dynamic initializers, and drop the redundant already-zero field assignments. Suggested-by: Valdis Kletnieks <valdis.kletnieks@vt.edu> Signed-off-by: Kees Cook <keescook@chromium.org>
Diffstat (limited to 'scripts/gcc-plugins/structleak_plugin.c')
-rw-r--r--scripts/gcc-plugins/structleak_plugin.c19
1 files changed, 7 insertions, 12 deletions
diff --git a/scripts/gcc-plugins/structleak_plugin.c b/scripts/gcc-plugins/structleak_plugin.c
index 3f8dd4868178..10292f791e99 100644
--- a/scripts/gcc-plugins/structleak_plugin.c
+++ b/scripts/gcc-plugins/structleak_plugin.c
@@ -57,21 +57,16 @@ static tree handle_user_attribute(tree *node, tree name, tree args, int flags, b
57 return NULL_TREE; 57 return NULL_TREE;
58} 58}
59 59
60static struct attribute_spec user_attr = { 60static struct attribute_spec user_attr = { };
61 .name = "user",
62 .min_length = 0,
63 .max_length = 0,
64 .decl_required = false,
65 .type_required = false,
66 .function_type_required = false,
67 .handler = handle_user_attribute,
68#if BUILDING_GCC_VERSION >= 4007
69 .affects_type_identity = true
70#endif
71};
72 61
73static void register_attributes(void *event_data, void *data) 62static void register_attributes(void *event_data, void *data)
74{ 63{
64 user_attr.name = "user";
65 user_attr.handler = handle_user_attribute;
66#if BUILDING_GCC_VERSION >= 4007
67 user_attr.affects_type_identity = true;
68#endif
69
75 register_attribute(&user_attr); 70 register_attribute(&user_attr);
76} 71}
77 72