[PATCH] powerpc/math_emu/efp: Include module.h

Christophe Leroy christophe.leroy at csgroup.eu
Thu Sep 1 15:41:33 AEST 2022



Le 31/08/2022 à 17:20, Nathan Chancellor a écrit :
> When building with a recent version of clang, there are a couple of
> errors around the call to module_init():
> 
>    arch/powerpc/math-emu/math_efp.c:927:1: error: type specifier missing, defaults to 'int'; ISO C99 and later do not support implicit int [-Wimplicit-int]
>    module_init(spe_mathemu_init);
>    ^
>    int
>    arch/powerpc/math-emu/math_efp.c:927:13: error: a parameter list without types is only allowed in a function definition
>    module_init(spe_mathemu_init);
>                ^
>    2 errors generated.
> 
> module_init() is a macro, which is not getting expanded because module.h
> is not included in this file. Add the include so that the macro can
> expand properly, clearing up the build failure.
> 
> Reported-by: kernel test robot <lkp at intel.com>
> Signed-off-by: Nathan Chancellor <nathan at kernel.org>
> ---
> 
> No Fixes tag because it seems likely that this is a transient include
> issue (the code builds with GCC). The robot blamed commit e8c07082a810
> ("Kbuild: move to -std=gnu11") but I think that just exposed these
> errors, not caused them.

Well spoted.

Seems like a GCC bug. The code builds fine but silently ignores the 
issue and the following section is missing:

   8 .initcall6.init 00000004  00000000  00000000  00008b30  2**2
                   CONTENTS, ALLOC, LOAD, RELOC, DATA

It means spe_mathemu_init() is never called.

I think it would be worth a GCC bug report.

And by the way:

Reviewed-by: Christophe Leroy <christophe.leroy at csgroup.eu>
Fixes: ac6f120369ff ("powerpc/85xx: Workaroudn e500 CPU erratum A005")


> 
>   arch/powerpc/math-emu/math_efp.c | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/arch/powerpc/math-emu/math_efp.c b/arch/powerpc/math-emu/math_efp.c
> index 39b84e7452e1..aa3bb8da1cb9 100644
> --- a/arch/powerpc/math-emu/math_efp.c
> +++ b/arch/powerpc/math-emu/math_efp.c
> @@ -17,6 +17,7 @@
>   
>   #include <linux/types.h>
>   #include <linux/prctl.h>
> +#include <linux/module.h>
>   
>   #include <linux/uaccess.h>
>   #include <asm/reg.h>
> 
> base-commit: dcf8e5633e2e69ad60b730ab5905608b756a032f


More information about the Linuxppc-dev mailing list