diff -ur linux-4.14.orig/scripts/gcc-plugins/gcc-common.h linux-4.14/scripts/gcc-plugins/gcc-common.h --- linux-4.14.orig/scripts/gcc-plugins/gcc-common.h 2018-08-19 21:29:20.298229612 +0000 +++ linux-4.14/scripts/gcc-plugins/gcc-common.h 2018-08-19 21:33:02.789227107 +0000 @@ -97,6 +97,10 @@ #include "predict.h" #include "ipa-utils.h" +#if BUILDING_GCC_VERSION >= 8000 +#include "stringpool.h" +#endif + #if BUILDING_GCC_VERSION >= 4009 #include "attribs.h" #include "varasm.h" diff -ur linux-4.14.orig/scripts/gcc-plugins/latent_entropy_plugin.c linux-4.14/scripts/gcc-plugins/latent_entropy_plugin.c --- linux-4.14.orig/scripts/gcc-plugins/latent_entropy_plugin.c 2018-08-19 21:29:20.301229612 +0000 +++ linux-4.14/scripts/gcc-plugins/latent_entropy_plugin.c 2018-08-19 21:50:23.229215392 +0000 @@ -262,10 +262,17 @@ .decl_required = true, .type_required = false, .function_type_required = false, +#if BUILDING_GCC_VERSION >= 8000 + .affects_type_identity = false, .handler = handle_latent_entropy_attribute, +#else #if BUILDING_GCC_VERSION >= 4007 - .affects_type_identity = false -#endif + .handler = handle_latent_entropy_attribute, + .affects_type_identity = false, +#else + .handler = handle_latent_entropy_attribute, +#endif /* >= 4007 */ +#endif /* >= 8000 */ }; static void register_attributes(void *event_data __unused, void *data __unused) diff -ur linux-4.14.orig/scripts/gcc-plugins/randomize_layout_plugin.c linux-4.14/scripts/gcc-plugins/randomize_layout_plugin.c --- linux-4.14.orig/scripts/gcc-plugins/randomize_layout_plugin.c 2018-08-19 21:29:20.303229612 +0000 +++ linux-4.14/scripts/gcc-plugins/randomize_layout_plugin.c 2018-08-19 21:55:33.710211897 +0000 @@ -589,10 +589,17 @@ // need type declaration .type_required = true, .function_type_required = false, - .handler = handle_randomize_layout_attr, +#if BUILDING_GCC_VERSION >= 8000 + .affects_type_identity = true, + .handler = handle_randomize_layout_attr, +#else #if BUILDING_GCC_VERSION >= 4007 - .affects_type_identity = true -#endif + .handler = handle_randomize_layout_attr, + .affects_type_identity = true, +#else + .handler = handle_randomize_layout_attr, +#endif /* >= 4007 */ +#endif /* >= 8000 */ }; static struct attribute_spec no_randomize_layout_attr = { @@ -604,10 +611,17 @@ // need type declaration .type_required = true, .function_type_required = false, - .handler = handle_randomize_layout_attr, +#if BUILDING_GCC_VERSION >= 8000 + .affects_type_identity = true, + .handler = handle_randomize_layout_attr, +#else #if BUILDING_GCC_VERSION >= 4007 - .affects_type_identity = true -#endif + .handler = handle_randomize_layout_attr, + .affects_type_identity = true, +#else + .handler = handle_randomize_layout_attr, +#endif /* >= 4007 */ +#endif /* >= 8000 */ }; static struct attribute_spec randomize_considered_attr = { @@ -619,10 +633,17 @@ // need type declaration .type_required = true, .function_type_required = false, - .handler = handle_randomize_considered_attr, +#if BUILDING_GCC_VERSION >= 8000 + .affects_type_identity = false, + .handler = handle_randomize_considered_attr, +#else #if BUILDING_GCC_VERSION >= 4007 - .affects_type_identity = false -#endif + .handler = handle_randomize_considered_attr, + .affects_type_identity = false, +#else + .handler = handle_randomize_considered_attr, +#endif /* >= 4007 */ +#endif /* >= 8000 */ }; static struct attribute_spec randomize_performed_attr = { @@ -634,10 +655,17 @@ // need type declaration .type_required = true, .function_type_required = false, - .handler = handle_randomize_performed_attr, +#if BUILDING_GCC_VERSION >= 8000 + .affects_type_identity = false, + .handler = handle_randomize_performed_attr, +#else #if BUILDING_GCC_VERSION >= 4007 - .affects_type_identity = false -#endif + .handler = handle_randomize_performed_attr, + .affects_type_identity = false, +#else + .handler = handle_randomize_performed_attr, +#endif /* >= 4007 */ +#endif /* >= 8000 */ }; static void register_attributes(void *event_data, void *data) diff -ur linux-4.14.orig/scripts/gcc-plugins/structleak_plugin.c linux-4.14/scripts/gcc-plugins/structleak_plugin.c --- linux-4.14.orig/scripts/gcc-plugins/structleak_plugin.c 2018-08-19 21:29:20.304229612 +0000 +++ linux-4.14/scripts/gcc-plugins/structleak_plugin.c 2018-08-19 21:51:31.790214620 +0000 @@ -64,10 +64,17 @@ .decl_required = false, .type_required = false, .function_type_required = false, - .handler = handle_user_attribute, +#if BUILDING_GCC_VERSION >= 8000 + .affects_type_identity = true, + .handler = handle_user_attribute, +#else #if BUILDING_GCC_VERSION >= 4007 - .affects_type_identity = true -#endif + .handler = handle_user_attribute, + .affects_type_identity = true, +#else + .handler = handle_user_attribute, +#endif /* >= 4007 */ +#endif /* >= 8000 */ }; static void register_attributes(void *event_data, void *data)