commit 6c837bddf5263a1259a0e3d5615b7c3dbaf64998 Author: Jan Rękorajski <bagg...@pld-linux.org> Date: Sat Jul 28 14:08:08 2018 +0200
- fix building randstruct plugin with gcc 8 - rel 3 kernel-small_fixes.patch | 166 +++++++++++++++++++++++++++++++++++++++++++++++ kernel.spec | 2 +- 2 files changed, 167 insertions(+), 1 deletion(-) --- diff --git a/kernel.spec b/kernel.spec index 7539660e..a9fe689c 100644 --- a/kernel.spec +++ b/kernel.spec @@ -68,7 +68,7 @@ %define have_pcmcia 0 %endif -%define rel 2 +%define rel 3 %define basever 4.14 %define postver .59 diff --git a/kernel-small_fixes.patch b/kernel-small_fixes.patch index e56acbbc..8c81938c 100644 --- a/kernel-small_fixes.patch +++ b/kernel-small_fixes.patch @@ -52,3 +52,169 @@ index ffd1dfaa1cc1..f46750053377 100644 #if BUILDING_GCC_VERSION >= 4009 #include "attribs.h" #include "varasm.h" +diff -ur linux-4.14/scripts/gcc-plugins/latent_entropy_plugin.c linux-4.17/scripts/gcc-plugins/latent_entropy_plugin.c +--- linux-4.14/scripts/gcc-plugins/latent_entropy_plugin.c 2017-11-12 19:46:13.000000000 +0100 ++++ linux-4.17/scripts/gcc-plugins/latent_entropy_plugin.c 2018-06-03 23:15:21.000000000 +0200 +@@ -255,21 +255,14 @@ + return NULL_TREE; + } + +-static struct attribute_spec latent_entropy_attr = { +- .name = "latent_entropy", +- .min_length = 0, +- .max_length = 0, +- .decl_required = true, +- .type_required = false, +- .function_type_required = false, +- .handler = handle_latent_entropy_attribute, +-#if BUILDING_GCC_VERSION >= 4007 +- .affects_type_identity = false +-#endif +-}; ++static struct attribute_spec latent_entropy_attr = { }; + + static void register_attributes(void *event_data __unused, void *data __unused) + { ++ latent_entropy_attr.name = "latent_entropy"; ++ latent_entropy_attr.decl_required = true; ++ latent_entropy_attr.handler = handle_latent_entropy_attribute; ++ + register_attribute(&latent_entropy_attr); + } + +diff -ur linux-4.14/scripts/gcc-plugins/randomize_layout_plugin.c linux-4.17/scripts/gcc-plugins/randomize_layout_plugin.c +--- linux-4.14/scripts/gcc-plugins/randomize_layout_plugin.c 2017-11-12 19:46:13.000000000 +0100 ++++ linux-4.17/scripts/gcc-plugins/randomize_layout_plugin.c 2018-06-03 23:15:21.000000000 +0200 +@@ -52,8 +52,8 @@ + { "net/unix/af_unix.c", "unix_skb_parms", "char" }, + /* big_key payload.data struct splashing */ + { "security/keys/big_key.c", "path", "void *" }, +- /* walk struct security_hook_heads as an array of struct list_head */ +- { "security/security.c", "list_head", "security_hook_heads" }, ++ /* walk struct security_hook_heads as an array of struct hlist_head */ ++ { "security/security.c", "hlist_head", "security_hook_heads" }, + { } + }; + +@@ -580,68 +580,35 @@ + return; + } + +-static struct attribute_spec randomize_layout_attr = { +- .name = "randomize_layout", +- // related to args +- .min_length = 0, +- .max_length = 0, +- .decl_required = false, +- // need type declaration +- .type_required = true, +- .function_type_required = false, +- .handler = handle_randomize_layout_attr, +-#if BUILDING_GCC_VERSION >= 4007 +- .affects_type_identity = true +-#endif +-}; ++static struct attribute_spec randomize_layout_attr = { }; ++static struct attribute_spec no_randomize_layout_attr = { }; ++static struct attribute_spec randomize_considered_attr = { }; ++static struct attribute_spec randomize_performed_attr = { }; + +-static struct attribute_spec no_randomize_layout_attr = { +- .name = "no_randomize_layout", +- // related to args +- .min_length = 0, +- .max_length = 0, +- .decl_required = false, +- // need type declaration +- .type_required = true, +- .function_type_required = false, +- .handler = handle_randomize_layout_attr, ++static void register_attributes(void *event_data, void *data) ++{ ++ randomize_layout_attr.name = "randomize_layout"; ++ randomize_layout_attr.type_required = true; ++ randomize_layout_attr.handler = handle_randomize_layout_attr; + #if BUILDING_GCC_VERSION >= 4007 +- .affects_type_identity = true ++ randomize_layout_attr.affects_type_identity = true; + #endif +-}; + +-static struct attribute_spec randomize_considered_attr = { +- .name = "randomize_considered", +- // related to args +- .min_length = 0, +- .max_length = 0, +- .decl_required = false, +- // need type declaration +- .type_required = true, +- .function_type_required = false, +- .handler = handle_randomize_considered_attr, ++ no_randomize_layout_attr.name = "no_randomize_layout"; ++ no_randomize_layout_attr.type_required = true; ++ no_randomize_layout_attr.handler = handle_randomize_layout_attr; + #if BUILDING_GCC_VERSION >= 4007 +- .affects_type_identity = false ++ no_randomize_layout_attr.affects_type_identity = true; + #endif +-}; + +-static struct attribute_spec randomize_performed_attr = { +- .name = "randomize_performed", +- // related to args +- .min_length = 0, +- .max_length = 0, +- .decl_required = false, +- // need type declaration +- .type_required = true, +- .function_type_required = false, +- .handler = handle_randomize_performed_attr, +-#if BUILDING_GCC_VERSION >= 4007 +- .affects_type_identity = false +-#endif +-}; ++ randomize_considered_attr.name = "randomize_considered"; ++ randomize_considered_attr.type_required = true; ++ randomize_considered_attr.handler = handle_randomize_considered_attr; ++ ++ randomize_performed_attr.name = "randomize_performed"; ++ randomize_performed_attr.type_required = true; ++ randomize_performed_attr.handler = handle_randomize_performed_attr; + +-static void register_attributes(void *event_data, void *data) +-{ + register_attribute(&randomize_layout_attr); + register_attribute(&no_randomize_layout_attr); + register_attribute(&randomize_considered_attr); +diff -ur linux-4.14/scripts/gcc-plugins/structleak_plugin.c linux-4.17/scripts/gcc-plugins/structleak_plugin.c +--- linux-4.14/scripts/gcc-plugins/structleak_plugin.c 2017-11-12 19:46:13.000000000 +0100 ++++ linux-4.17/scripts/gcc-plugins/structleak_plugin.c 2018-06-03 23:15:21.000000000 +0200 +@@ -57,21 +57,16 @@ + return NULL_TREE; + } + +-static struct attribute_spec user_attr = { +- .name = "user", +- .min_length = 0, +- .max_length = 0, +- .decl_required = false, +- .type_required = false, +- .function_type_required = false, +- .handler = handle_user_attribute, +-#if BUILDING_GCC_VERSION >= 4007 +- .affects_type_identity = true +-#endif +-}; ++static struct attribute_spec user_attr = { }; + + static void register_attributes(void *event_data, void *data) + { ++ user_attr.name = "user"; ++ user_attr.handler = handle_user_attribute; ++#if BUILDING_GCC_VERSION >= 4007 ++ user_attr.affects_type_identity = true; ++#endif ++ + register_attribute(&user_attr); + } + ================================================================ ---- gitweb: http://git.pld-linux.org/gitweb.cgi/packages/kernel.git/commitdiff/6c837bddf5263a1259a0e3d5615b7c3dbaf64998 _______________________________________________ pld-cvs-commit mailing list pld-cvs-commit@lists.pld-linux.org http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit