[GIT PULL] Compiler Attributes for v5.0-rc7

From: Miguel Ojeda
Date: Fri Feb 15 2019 - 14:11:16 EST


Hi Linus,

Please pull these changes to clean up the new GCC 9 warnings coming from
-Wmissing-attributes. With this, we can avoid disabling them.

The patches have been for quite in -next in several forms/shapes during
the iterations we did.

Cheers,
Miguel

The following changes since commit 8834f5600cf3c8db365e18a3d5cac2c2780c81e5:

Linux 5.0-rc5 (2019-02-03 13:48:04 -0800)

are available in the Git repository at:

https://github.com/ojeda/linux.git tags/compiler-attributes-for-linus-v5.0-rc7

for you to fetch changes up to a6e60d84989fa0e91db7f236eda40453b0e44afa:

include/linux/module.h: copy __init/__exit attrs to init/cleanup_module (2019-02-15 19:52:56 +0100)

----------------------------------------------------------------
Compiler Attributes: Clean the new GCC 9 -Wmissing-attributes warnings

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, e.g.:

void __cold f(void) {}
void __alias("f") g(void);

diagnoses:

warning: 'g' specifies less restrictive attribute than
its target 'f': 'cold' [-Wmissing-attributes]

These patch series clean these new warnings. Most of them are caused
by the module_init/exit macros.

Link: https://lore.kernel.org/lkml/20190125104353.2791-1-labbott@xxxxxxxxxx/

----------------------------------------------------------------
Miguel Ojeda (3):
lib/crc32.c: mark crc32_le_base/__crc32c_le_base aliases as __pure
Compiler Attributes: add support for __copy (gcc >= 9)
include/linux/module.h: copy __init/__exit attrs to init/cleanup_module

include/linux/compiler_attributes.h | 14 ++++++++++++++
include/linux/module.h | 4 ++--
lib/crc32.c | 4 ++--
3 files changed, 18 insertions(+), 4 deletions(-)