On 11/15/2010 07:30 PM, Jim Bos wrote: > On 11/15/2010 07:08 PM, Linus Torvalds wrote: >> On Mon, Nov 15, 2010 at 9:40 AM, Jim Bos <jim...@xs4all.nl> wrote: >>> >>> Hmm, that doesn't work. >>> >>> [ Not sure if you read to whole thread but initial workaround was to >>> change the asm(..) to asm volatile(..) which did work. ] >> >> Since I have a different gcc than yours (and I'm not going to compile >> my own), have you posted your broken .s file anywhere? In fact, with >> the noinline (and the removal of the "+m" thing - iow just the patch >> you tried), what does just the "i8k_smm" function assembly look like >> for you after you've done a "make drivers/char/i8k.s"? >> >> If the asm just doesn't exist AT ALL, that's just odd. Because every >> single call-site of i8k_smm() clearly looks at the return value. So >> the volatile really shouldn't make any difference from that >> standpoint. Odd. >> >> Linus >> > > Attached version with plain 2.6.36 source and version with the committed > patch, i.e with the '"+m" (*regs)' > > > _ > Jim > >
And I just tried with your noninline patch which results in exactly the same .s file as with plain 2.6.36 source, i.e. the noninline patch is not doing anything here. _ Jim