[packages/kernel/LINUX_4_14] - fix building randstruct plugin with gcc 8 - rel 3
baggins
baggins at pld-linux.org
Sat Jul 28 14:08:31 CEST 2018
commit 6c837bddf5263a1259a0e3d5615b7c3dbaf64998
Author: Jan Rękorajski <baggins at 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
More information about the pld-cvs-commit
mailing list