2000-12-20 00:45:30

by Jesper Juhl

[permalink] [raw]
Subject: Strange warnings about .modinfo when compiling 2.2.18 on Alpha


Hi,

I just compiled 2.2.18 for my AlphaServer 400 4/233, and noticed a lot of
messages like the following during the compile, they all contain the
'Ignoring changed section attributes for .modinfo' part:

{standard input}: Assembler messages:
{standard input}:7: Warning: Ignoring changed section attributes for
.modinfo
cc -D__KERNEL__ -I/usr/src/linux/include -Wall -Wstrict-prototypes -O2
-fomit-frame-pointer -fno-strict-aliasing -pipe -mno-fp-regs -ffixed-8
-mcpu=ev5 -Wa,-mev6 -DMODULE -c -o nls_cp936.o nls_cp936.c


I configured the kernel with 'make menuconfig', then ran

make dep clean boot modules modules_install

The kernel boots fine and there does not seem to be any problems (at
least not with the stuff I've tested so far). I just wanted people to
know about this and ask if it is anything to worry about?
I'm using gcc 2.95.2 (gcc version 2.95.2 19991024 (release)) for this,
and as far as I remember that's not the recommended compiler on Alpha
(but it's all I have at the moment). If this is a known issue with gcc
2.95.2, then I appologize for the inconvenience.


Best regards,
Jesper Juhl



2000-12-21 07:27:43

by Keith Owens

[permalink] [raw]
Subject: Re: Strange warnings about .modinfo when compiling 2.2.18 on Alpha

On Tue, 19 Dec 2000 15:20:17 GMT,
Jesper Juhl <[email protected]> wrote:
>I just compiled 2.2.18 for my AlphaServer 400 4/233, and noticed a lot of
>messages like the following during the compile, they all contain the
>'Ignoring changed section attributes for .modinfo' part:

The way .modinfo is created is a kludge to prevent the .modinfo section
being loaded as part of the module. The initial reference to .modinfo
creates it as non-allocated, later references try to allocate data in
the section. Older versions of gcc silently ignored the mismatch,
newer ones warn about the mismatch.

modutils >= 2.3.19 makes sure that .modinfo is not loaded so the kernel
kludge is no longer required. Alan Cox (quite rightly) will not force
2.2 users to upgrade modutils, but if you jump to modutils 2.3.23 and
apply this patch against kernel 2.2.18 then the warnings will disappear.

Index: 18.1/include/linux/module.h
--- 18.1/include/linux/module.h Tue, 12 Sep 2000 13:37:17 +1100 kaos (linux-2.2/F/51_module.h 1.1.7.2 644)
+++ 18.1(w)/include/linux/module.h Thu, 21 Dec 2000 17:55:23 +1100 kaos (linux-2.2/F/51_module.h 1.1.7.2 644)
@@ -190,11 +190,6 @@ const char __module_parm_desc_##var[] \
__attribute__((section(".modinfo"))) = \
"parm_desc_" __MODULE_STRING(var) "=" desc

-/* The attributes of a section are set the first time the section is
- seen; we want .modinfo to not be allocated. */
-
-__asm__(".section .modinfo\n\t.previous");
-
/* Define the module variable, and usage macros. */
extern struct module __this_module;


Subject: Re: Strange warnings about .modinfo when compiling 2.2.18 on Alpha



On Thu, 21 Dec 2000, Keith Owens wrote:

> The way .modinfo is created is a kludge to prevent the .modinfo section
> being loaded as part of the module. The initial reference to .modinfo
> creates it as non-allocated, later references try to allocate data in
> the section. Older versions of gcc silently ignored the mismatch,
> newer ones warn about the mismatch.
>
> modutils >= 2.3.19 makes sure that .modinfo is not loaded so the kernel
> kludge is no longer required. Alan Cox (quite rightly) will not force
> 2.2 users to upgrade modutils, but if you jump to modutils 2.3.23 and
> apply this patch against kernel 2.2.18 then the warnings will disappear.


Thank you very much for your reply. I'll try upgrading modutils and apply
the patch.


Best regards,
Jesper Juhl
[email protected]