summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Gortmaker <paul.gortmaker@windriver.com>2019-09-12 10:52:54 -0400
committerPaul Gortmaker <paul.gortmaker@windriver.com>2019-09-12 10:52:54 -0400
commit3ab108b3888c61caa795992e3938b997b70ee4cf (patch)
treeab48c660f2b30b2158fa4acc84885f9e6b17461d
parent715dd26c137646cf0929fe34db34ef5fdf443e7e (diff)
downloadlongterm-queue-4.18-3ab108b3888c61caa795992e3938b997b70ee4cf.tar.gz
module: drop gcc9 patch - breaks build
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
-rw-r--r--queue/include-linux-module.h-copy-__init-__exit-attrs-to-i.patch78
-rw-r--r--queue/series1
2 files changed, 0 insertions, 79 deletions
diff --git a/queue/include-linux-module.h-copy-__init-__exit-attrs-to-i.patch b/queue/include-linux-module.h-copy-__init-__exit-attrs-to-i.patch
deleted file mode 100644
index 05fa3c1..0000000
--- a/queue/include-linux-module.h-copy-__init-__exit-attrs-to-i.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-From a6e60d84989fa0e91db7f236eda40453b0e44afa Mon Sep 17 00:00:00 2001
-From: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>
-Date: Sat, 19 Jan 2019 20:59:34 +0100
-Subject: [PATCH] include/linux/module.h: copy __init/__exit attrs to
- init/cleanup_module
-
-commit a6e60d84989fa0e91db7f236eda40453b0e44afa upstream.
-
-The upcoming GCC 9 release extends the -Wmissing-attributes warnings
-(enabled by -Wall) to C and aliases: it warns when particular function
-attributes are missing in the aliases but not in their target.
-
-In particular, it triggers for all the init/cleanup_module
-aliases in the kernel (defined by the module_init/exit macros),
-ending up being very noisy.
-
-These aliases point to the __init/__exit functions of a module,
-which are defined as __cold (among other attributes). However,
-the aliases themselves do not have the __cold attribute.
-
-Since the compiler behaves differently when compiling a __cold
-function as well as when compiling paths leading to calls
-to __cold functions, the warning is trying to point out
-the possibly-forgotten attribute in the alias.
-
-In order to keep the warning enabled, we decided to silence
-this case. Ideally, we would mark the aliases directly
-as __init/__exit. However, there are currently around 132 modules
-in the kernel which are missing __init/__exit in their init/cleanup
-functions (either because they are missing, or for other reasons,
-e.g. the functions being called from somewhere else); and
-a section mismatch is a hard error.
-
-A conservative alternative was to mark the aliases as __cold only.
-However, since we would like to eventually enforce __init/__exit
-to be always marked, we chose to use the new __copy function
-attribute (introduced by GCC 9 as well to deal with this).
-With it, we copy the attributes used by the target functions
-into the aliases. This way, functions that were not marked
-as __init/__exit won't have their aliases marked either,
-and therefore there won't be a section mismatch.
-
-Note that the warning would go away marking either the extern
-declaration, the definition, or both. However, we only mark
-the definition of the alias, since we do not want callers
-(which only see the declaration) to be compiled as if the function
-was __cold (and therefore the paths leading to those calls
-would be assumed to be unlikely).
-
-Link: https://lore.kernel.org/lkml/20190123173707.GA16603@gmail.com/
-Link: https://lore.kernel.org/lkml/20190206175627.GA20399@gmail.com/
-Suggested-by: Martin Sebor <msebor@gcc.gnu.org>
-Acked-by: Jessica Yu <jeyu@kernel.org>
-Signed-off-by: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>
-
-diff --git a/include/linux/module.h b/include/linux/module.h
-index 8fa38d3e7538..f5bc4c046461 100644
---- a/include/linux/module.h
-+++ b/include/linux/module.h
-@@ -129,13 +129,13 @@ extern void cleanup_module(void);
- #define module_init(initfn) \
- static inline initcall_t __maybe_unused __inittest(void) \
- { return initfn; } \
-- int init_module(void) __attribute__((alias(#initfn)));
-+ int init_module(void) __copy(initfn) __attribute__((alias(#initfn)));
-
- /* This is only required if you want to be unloadable. */
- #define module_exit(exitfn) \
- static inline exitcall_t __maybe_unused __exittest(void) \
- { return exitfn; } \
-- void cleanup_module(void) __attribute__((alias(#exitfn)));
-+ void cleanup_module(void) __copy(exitfn) __attribute__((alias(#exitfn)));
-
- #endif
-
---
-2.9.5
-
diff --git a/queue/series b/queue/series
index 5205f07..724a476 100644
--- a/queue/series
+++ b/queue/series
@@ -77,7 +77,6 @@ drm-tegra-gem-Fix-CPU-cache-maintenance-for-BO-s-all.patch
drm-vmwgfx-Don-t-send-drm-sysfs-hotplug-events-on-in.patch
drm-sun4i-Fix-sun8i-HDMI-PHY-configuration-for-148.5.patch
drm-lease-Make-sure-implicit-planes-are-leased.patch
-include-linux-module.h-copy-__init-__exit-attrs-to-i.patch
x86-ftrace-Do-not-call-function-graph-from-dynamic-t.patch
x86-ftrace-Set-trampoline-pages-as-executable.patch
x86-kprobes-Set-instruction-page-as-executable.patch