On Thu, Jun 07, 2012 at 08:48:00AM -0400, Don Zickus wrote:This other way is fine to me, they actually does the same thing.On Thu, Jun 07, 2012 at 03:43:25PM +0800, Li Zhong wrote:Apparently I was too slow. Ingo committed my other patch. I can ask himOn Wed, 2012-06-06 at 10:03 -0400, Don Zickus wrote:Ah, ok. I forgot about the variable args syntax. That works too. I giveOn Wed, Jun 06, 2012 at 12:14:33PM +0100, Jan Beulich wrote:Hi Don,Ah. Thanks for figuring that out!! I will post a patch opencoding it.I didn't think it would be compiler dependent as I do not know whatIndeed, somehow I failed to see the obvious - it's commit
compiler the reporter was using. I used a RHEL-6 4.4.4 compiler (which
you probably don't have :^) ).
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).
How about the following patch, adding an optional fifth argument as Jan
mentioned? We don't need change other users of register_nmi_handler().
a quick test.
to revert it and use your smaller/cleaner patch instead? Or is it big
deal to keep the other one?
Cheers,
Don