• H
    perf probe: Fix failure to probe events on arm · 7c31bb8c
    He Kuang 提交于
    Fix failure to probe events on arm, the problem was introduced by commit
    5a51fcd1 ("perf probe: Skip kernel symbols which is out of .text").
    
    For some architectures, the '_etext' label is not in the .text section
    (in the .notes section for arm/arm64).  Labels out of the .text section
    are not loaded as symbols and we get a zero value when looking up its
    addresses, which causes all events to be wrongly skipped.
    
    This patch skips checking the text address range when failing to get the
    address of '_etext' and thus fixes the problem.
    
    The problem can be reproduced on arm as follows:
    
      # perf probe --add='generic_perform_write'
      generic_perform_write+0 is out of .text, skip it.
      Probe point 'generic_perform_write' not found.
        Error: Failed to add events.
    
    After this patch:
    
      # perf probe --add='generic_perform_write'
      Added new event:
        probe:generic_perform_write (on generic_perform_write)
    
      You can now use it in all perf tools, such as:
    
        perf record -e probe:generic_perform_write -aR sleep 1
    Signed-off-by: NHe Kuang <hekuang@huawei.com>
    Acked-by: NMasami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Cc: Wang Nan <wangnan0@huawei.com>
    Link: http://lkml.kernel.org/r/1434595750-129791-1-git-send-email-hekuang@huawei.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
    7c31bb8c
probe-event.c 67.3 KB