Messages in this thread | | | From | Linus Torvalds <> | Date | Mon, 15 Nov 2010 10:08:54 -0800 | Subject | Re: gcc 4.5.1 / as 2.20.51.0.11 miscompiling drivers/char/i8k.c ? |
| |
On Mon, Nov 15, 2010 at 9:40 AM, Jim Bos <jim876@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
| |