Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4ed8244e authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'gcc-plugins-v4.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux

Pull gcc plugins updates from Kees Cook:

 - update includes for gcc 8 (Valdis Kletnieks)

 - update initializers for gcc 8

* tag 'gcc-plugins-v4.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
  gcc-plugins: Use dynamic initializers
  gcc-plugins: Add include required by GCC release 8
parents a0f79386 b8672910
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -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"
+5 −12
Original line number Diff line number Diff line
@@ -255,21 +255,14 @@ static tree handle_latent_entropy_attribute(tree *node, tree name,
	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);
}

+21 −54
Original line number Diff line number Diff line
@@ -580,68 +580,35 @@ static void finish_type(void *event_data, void *data)
	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);
+7 −12
Original line number Diff line number Diff line
@@ -57,21 +57,16 @@ static tree handle_user_attribute(tree *node, tree name, tree args, int flags, b
	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);
}