2005-03-05 15:39:46

by Domen Puncer

[permalink] [raw]
Subject: [patch 09/12] include/linux/module.h - compile warning cleanup


, extinguish warning for module structure that is still
live when module is compiled into the kernel; do this in one central
place so all such type warnings are automatically taken care of

Signed-off-by: Stephen Biggs <[email protected]>
Signed-off-by: Domen Puncer <[email protected]>
---


kj-domen/include/linux/module.h | 5 ++++-
1 files changed, 4 insertions(+), 1 deletion(-)

diff -puN include/linux/module.h~extinguish_warnings-include_linux_module.h include/linux/module.h
--- kj/include/linux/module.h~extinguish_warnings-include_linux_module.h 2005-03-05 16:12:03.000000000 +0100
+++ kj-domen/include/linux/module.h 2005-03-05 16:12:03.000000000 +0100
@@ -93,7 +93,10 @@ extern struct module __this_module;

#else /* !MODULE */

-#define MODULE_GENERIC_TABLE(gtype,name)
+#define MODULE_GENERIC_TABLE(gtype,name) \
+extern const struct gtype##_id __not_mod_##name##_unused \
+ __attribute__ ((unused, weak, alias(__stringify(name))))
+
#define __MODULE_INFO(tag, name, info)
#define THIS_MODULE ((struct module *)0)
#endif
_


2005-03-07 00:46:50

by Andrew Morton

[permalink] [raw]
Subject: Re: [patch 09/12] include/linux/module.h - compile warning cleanup

[email protected] wrote:
>
> , extinguish warning for module structure that is still
> live when module is compiled into the kernel; do this in one central
> place so all such type warnings are automatically taken care of
>
> Signed-off-by: Stephen Biggs <[email protected]>
> Signed-off-by: Domen Puncer <[email protected]>
> ---
>
>
> kj-domen/include/linux/module.h | 5 ++++-
> 1 files changed, 4 insertions(+), 1 deletion(-)
>
> diff -puN include/linux/module.h~extinguish_warnings-include_linux_module.h include/linux/module.h
> --- kj/include/linux/module.h~extinguish_warnings-include_linux_module.h 2005-03-05 16:12:03.000000000 +0100
> +++ kj-domen/include/linux/module.h 2005-03-05 16:12:03.000000000 +0100
> @@ -93,7 +93,10 @@ extern struct module __this_module;
>
> #else /* !MODULE */
>
> -#define MODULE_GENERIC_TABLE(gtype,name)
> +#define MODULE_GENERIC_TABLE(gtype,name) \
> +extern const struct gtype##_id __not_mod_##name##_unused \
> + __attribute__ ((unused, weak, alias(__stringify(name))))
> +

There's already a patch similar to this in Sam's bk-kbuild tree.