lkml.org 
[lkml]   [2009]   [Nov]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: BUG: GCC-4.4.x changes the function frame on some functions
    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.

    Andrew.



    \
     
     \ /
      Last update: 2009-11-20 13:09    [W:4.110 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site