[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4B068A10.2090608@redhat.com>
Date: Fri, 20 Nov 2009 12:22:40 +0000
From: Andrew Haley <aph@...hat.com>
To: Thomas Gleixner <tglx@...utronix.de>
CC: Jeff Law <law@...hat.com>, rostedt@...dmis.org,
"H. Peter Anvin" <hpa@...or.com>,
David Daney <ddaney@...iumnetworks.com>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Richard Guenther <richard.guenther@...il.com>,
Ingo Molnar <mingo@...e.hu>,
LKML <linux-kernel@...r.kernel.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Heiko Carstens <heiko.carstens@...ibm.com>,
feng.tang@...el.com, Fr??d??ric Weisbecker <fweisbec@...il.com>,
Peter Zijlstra <peterz@...radead.org>, jakub@...hat.com,
gcc@....gnu.org
Subject: Re: BUG: GCC-4.4.x changes the function frame on some functions
Andrew Haley wrote:
> Thomas Gleixner wrote:
>
>> While testing various kernel configs we found out that the problem
>> comes and goes. Finally I started to compare the gcc command line
>> options and after some fiddling it turned out that the following
>> minimal deltas change the code generator behaviour:
>>
>> Bad: -march=pentium-mmx -Wa,-mtune=generic32
>> Good: -march=i686 -mtune=generic -Wa,-mtune=generic32
>> Good: -march=pentium-mmx -mtune-generic -Wa,-mtune=generic32
>>
>> I'm not supposed to understand the logic behind that, right ?
>
> I don't either. I'm seeing:
>
> timer_stats_update_stats: timer_stats_update_stats:
> pushl %edi <
> leal 8(%esp), %edi <
> andl $-16, %esp <
> pushl -4(%edi) <
> pushl %ebp pushl %ebp
> movl %esp, %ebp movl %esp, %ebp
> pushl %edi | andl $-16, %esp
> pushl %esi | subl $112, %esp
> pushl %ebx | movl %ebx, 100(%esp)
> subl $108, %esp | movl %esi, 104(%esp)
> > movl %edi, 108(%esp)
> call mcount call mcount
>
> where the only difference is -mtune=generic. I'm investigating.
Forget that, I see from the gcc-bugs list that hj has tracked it down to
the use of DRAP, and for some reason the mtune options affect that. He's
the best person to fix this.
Andrew.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists