Re: [PATCH 0/3] Clean the new GCC 9 -Wmissing-attributes warnings

From: Laura Abbott
Date: Sat Feb 09 2019 - 15:33:18 EST

On 2/9/19 12:08 AM, Miguel Ojeda wrote:
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);


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.

The first patch has been in -next for a long time already, and an alternative
solution (only __cold) for module.h as well. However, since we decided
to go with the new __copy attribute, I will leave the series for a few days
again and send the PR for -rc7.


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

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

For the entire series:

Tested-by: Laura Abbott <labbott@xxxxxxxxxx>

You can look at the full build logs at .