[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