Skip to content
  • Steven Rostedt's avatar
    ftrace: Remove selecting FRAME_POINTER with FUNCTION_TRACER · b732d439
    Steven Rostedt authored
    
    
    The function tracer will enable the -pg option with gcc, which requires
    that frame pointers. When FRAME_POINTER is defined in the kernel config
    it adds the gcc option -fno-omit-frame-pointer which causes some problems
    on some architectures. For those architectures, the FRAME_POINTER select
    was not set.
    
    When FUNCTION_TRACER was selected on these architectures that can not have
    -fno-omit-frame-pointer, the -pg option is still set. But when
    FRAME_POINTER is not selected, the kernel config would add the gcc option
    -fomit-frame-pointer. Adding this option is incompatible with -pg
    even on archs that do not need frame pointers with -pg.
    
    The answer to this was to just not add either -fno-omit-frame-pointer
    or -fomit-frame-pointer on these archs that want function tracing
    but do not set FRAME_POINTER.
    
    As it turns out, for archs that require frame pointers for function
    tracing, the same can be used. If gcc requires frame pointers with
    -pg, it will simply add it. The best thing to do is not select FRAME_POINTER
    when function tracing is selected, and let gcc add it if needed.
    
    Only add the -fno-omit-frame-pointer when something else selects
    FRAME_POINTER, but do not add -fomit-frame-pointer if function tracing
    is selected.
    
    Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
    b732d439