lkml.org 
[lkml]   [2009]   [Nov]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH][GIT PULL][v2.6.32] tracing/x86: Add check to detect GCC messing with mcount prologue
    Jakub Jelinek wrote:
    > On Tue, Nov 24, 2009 at 03:32:20PM +0000, Andrew Haley wrote:
    >> Jakub Jelinek wrote:
    >>> On Tue, Nov 24, 2009 at 03:55:49PM +0100, Thomas Gleixner wrote:
    >>>>> you should compile your code with -maccumulate-outgoing-args, and there's
    >>>>> no need to use -mtune=generic. Is that right?
    >>>> Seems to work. What other side effects has that ?
    >>> Faster code, significant increase in code size though.
    >> Does it affect code size when we don't have to realign the stack pointer?
    >
    > Yes, a lot. The difference is that -maccumulate-outgoing-args allocates
    > space for arguments of the callee with most arguments in the prologue, using
    > subtraction from sp, then to pass arguments uses movl XXX, 4(%esp) etc.
    > and the stack pointer doesn't usually change within the function (except for
    > alloca/VLAs).
    > With -mno-accumulate-outgoing-args args are pushed using push instructions
    > and stack pointer is constantly changing.

    Alright. So, it is possible in theory for gcc to generate code that
    only uses -maccumulate-outgoing-args when it needs to realign SP.
    And, therefore, we could have a nice option for the kernel: one with
    (mostly) good code density and never generates the bizarre code
    sequence in the prologue.

    Andrew.


    \
     
     \ /
      Last update: 2009-11-24 16:51    [W:0.023 / U:2.092 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site