Re: [PATCH] x86,nmi: Fix section mismatch warnings on 32-bit

From: Zhong Li
Date: Sun Jun 10 2012 - 21:37:39 EST


On 06/09/2012 04:51 AM, Don Zickus wrote:
On Thu, Jun 07, 2012 at 08:48:00AM -0400, Don Zickus wrote:
On Thu, Jun 07, 2012 at 03:43:25PM +0800, Li Zhong wrote:
On Wed, 2012-06-06 at 10:03 -0400, Don Zickus wrote:
On Wed, Jun 06, 2012 at 12:14:33PM +0100, Jan Beulich wrote:
I didn't think it would be compiler dependent as I do not know what
compiler the reporter was using. I used a RHEL-6 4.4.4 compiler (which
you probably don't have :^) ).
Indeed, somehow I failed to see the obvious - it's commit
72b3fb24713755cf9740b403e95aa67ceedf3509 that causes
these problems. Instantiating static data like this just doesn't
play with any of the pointers passed being into .init.*.

I'd suggest either open coding register_nmi_handler() (with
the static data put into __initdata), or further abstracting it
by allowing an optional fifth argument (specifying the section
annotation if needed).
Ah. Thanks for figuring that out!! I will post a patch opencoding it.

Hi Don,

How about the following patch, adding an optional fifth argument as Jan
mentioned? We don't need change other users of register_nmi_handler().
Ah, ok. I forgot about the variable args syntax. That works too. I give
a quick test.
Apparently I was too slow. Ingo committed my other patch. I can ask him
to revert it and use your smaller/cleaner patch instead? Or is it big
deal to keep the other one?
This other way is fine to me, they actually does the same thing.

Sorry for causing the trouble, though I don't remember seeing the warnings when converting it to static ...

Thanks,
Zhong
Cheers,
Don


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/