• Thiago Jung Bauermann's avatar
    ftrace: Match dot symbols when searching functions on ppc64 · 7132e2d6
    Thiago Jung Bauermann authored
    In the ppc64 big endian ABI, function symbols point to function
    descriptors. The symbols which point to the function entry points
    have a dot in front of the function name. Consequently, when the
    ftrace filter mechanism searches for the symbol corresponding to
    an entry point address, it gets the dot symbol.
    
    As a result, ftrace filter users have to be aware of this ABI detail on
    ppc64 and prepend a dot to the function name when setting the filter.
    
    The perf probe command insulates the user from this by ignoring the dot
    in front of the symbol name when matching function names to symbols,
    but the sysfs interface does not. This patch makes the ftrace filter
    mechanism do the same when searching symbols.
    
    Fixes the following failure in ftracetest's kprobe_ftrace.tc:
    
      .../kprobe_ftrace.tc: line 9: echo: write error: Invalid argument
    
    That failure is on this line of kprobe_ftrace.tc:
    
      echo _do_fork > set_ftrace_filter
    
    This is because there's no _do_fork entry in the functions list:
    
      # cat available_filter_functions | grep _do_fork
      ._do_fork
    
    This change introduces no regressions on the perf and ftracetest
    testsuite results.
    
    Cc: Steven Rostedt <rostedt@goodmis.org>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Michael Ellerman <mpe@ellerman.id.au>
    Cc: linuxppc-dev@lists.ozlabs.org
    Signed-off-by: default avatarThiago Jung Bauermann <bauerman@linux.vnet.ibm.com>
    Acked-by: default avatarSteven Rostedt <rostedt@goodmis.org>
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    7132e2d6
ftrace.c 14.3 KB