lkml.org 
[lkml]   [2009]   [Feb]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH] make CALLER_ADDRx overwriteable
    On Wed, Feb 25, 2009 at 11:16:09PM +0100, Uwe Kleine-K??nig wrote:
    > The current definition of CALLER_ADDRx isn't suitable for all platforms.
    > E.g. for ARM __builtin_return_address(N) doesn't work for N > 0 and
    > AFAIK for powerpc there are no frame pointers needed to have a working
    > __builtin_return_address. This patch allows defining the CALLER_ADDRx
    > macros in <asm/ftrace.h> and let these take precedence.
    >
    > Signed-off-by: Uwe Kleine-K??nig <u.kleine-koenig@pengutronix.de>
    > ---
    > Hello,
    >
    > [I resent because vger blocked my mail saying: "Wrong MIME labeling on
    > 8-bit character texts." Steven didn't get it either. I don't know
    > what's wrong, so I put the patch back into git and format-patch'd it. I
    > hope this one makes it through. Sorry if you got it twice.]
    >
    > I think I don't break any architecture with this patch:
    >
    > $ for arch in $(ls arch/); do if test ! -d arch/$arch; then continue; fi; test -f arch/$arch/include/asm/ftrace.h || test -f include/asm-$arch/ftrace.h || { echo -n "$arch: "; git grep FTRACE arch/$arch | wc -l; } done
    > alpha: 0
    > avr32: 0
    > blackfin: 0
    > cris: 0
    > frv: 0
    > h8300: 0
    > m32r: 0
    > m68k: 0
    > m68knommu: 0
    > mips: 0
    > mn10300: 0
    > parisc: 0
    > um: 0
    > xtensa: 0
    >
    > So all archs that don't have <asm/ftrace.h> seem not to use FTRACE.

    Ah, but unfortunately this will break other archs :-(

    They may not use FTRACE, but they do include the ftrace header (the ftrace.h header
    can be used for other types of tracing, not just function tracing).

    A better solution would be to move the CALLER_ADDER0 out of the
    ftrace.h header completely. Not sure where though. Have a caller.h ?
    And then we can have ftrace.h include caller.h. A asm/caller.h can be
    used to override the default.

    How does that sound?

    -- Steve


    \
     
     \ /
      Last update: 2009-02-26 06:11    [W:2.535 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site