• D
    perf timechart: Fix SIBGUS error on sparc64 · e94eedab
    David Ahern 提交于
    perf timechart -T on sparc64 is terminating due to SIGBUS. Backtrace:
    
    Program received signal SIGBUS, Bus error.
    0x0000000000173d7c in perf_evsel__intval (evsel=<value optimized out>, sample=0x7feffffda28, name=0x289b28 "prev_state")
        at util/evsel.c:1918
    1918	util/evsel.c: No such file or directory.
    	in util/evsel.c
    Missing separate debuginfos, use: debuginfo-install audit-libs-2.3.7-1.0.1.el6.sparc64 bzip2-libs-1.0.5-7.el6_0.sparc64 elfutils-libelf-0.155-2.0.3.el6.sparc64 elfutils-libs-0.155-2.0.3.el6.sparc64 glibc-2.12-1.132.0.8.el6_5.sparc64 numactl-2.0.7-8.el6.sparc64 python-libs-2.6.6-52.0.2.el6.sparc64 slang-2.2.1-1.el6.sparc64 xz-libs-4.999.9-0.3.beta.20091007git.el6.sparc64 zlib-1.2.3-29.el6.sparc64
    (gdb) bt
    0  0x0000000000173d7c in perf_evsel__intval (evsel=<value optimized out>, sample=0x7feffffda28,
        name=0x289b28 "prev_state") at util/evsel.c:1918
    1  0x0000000000123b94 in process_sample_sched_switch (tchart=0x7feffffe040, evsel=0x4ca850, sample=0x7feffffda28,
        backtrace=0xc39010 "") at builtin-timechart.c:627
    2  0x0000000000122828 in process_sample_event (tool=0x7feffffe040, event=<value optimized out>, sample=0x7feffffda28,
        evsel=0x4ca850, machine=0x4c9c88) at builtin-timechart.c:569
    
    Another extended load on unaligned pointer. As before fix by copying to
    a temporary variable using memcpy.
    Signed-off-by: NDavid Ahern <david.ahern@oracle.com>
    Link: http://lkml.kernel.org/r/1427228049-51893-1-git-send-email-david.ahern@oracle.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
    e94eedab
evsel.c 51.5 KB