[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4CE17C4B.1070305@xs4all.nl>
Date: Mon, 15 Nov 2010 19:30:35 +0100
From: Jim Bos <jim876@...all.nl>
To: Linus Torvalds <torvalds@...ux-foundation.org>
CC: Jakub Jelinek <jakub@...hat.com>, Andi Kleen <andi@...stfloor.org>,
James Cloos <cloos@...loos.com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Andreas Schwab <schwab@...hat.com>,
Michael Matz <matz@...e.de>,
Dave Korn <dave.korn.cygwin@...il.com>,
Richard Guenther <richard.guenther@...il.com>, gcc@....gnu.org
Subject: Re: gcc 4.5.1 / as 2.20.51.0.11 miscompiling drivers/char/i8k.c ?
On 11/15/2010 07:08 PM, Linus Torvalds wrote:
> On Mon, Nov 15, 2010 at 9:40 AM, Jim Bos <jim876@...all.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
View attachment "i8k.s-2.6.36" of type "text/plain" (22373 bytes)
View attachment "i8k.s-2.6.36+patch" of type "text/plain" (22949 bytes)
Powered by blists - more mailing lists