lkml.org 
[lkml]   [2018]   [Nov]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.14 13/62] perf symbols: Set PLT entry/header sizes properly on Sparc
    Date
    4.14-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    [ Upstream commit d6afa561e1471ccfdaf7191230c0c59a37e45a5b ]

    Using the sh_entsize for both values isn't correct. It happens to be
    correct on x86...

    For both 32-bit and 64-bit sparc, there are four PLT entries in the PLT
    section.

    Signed-off-by: David S. Miller <davem@davemloft.net>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Alexis Berlemont <alexis.berlemont@gmail.com>
    Cc: David Tolnay <dtolnay@gmail.com>
    Cc: Hanjun Guo <guohanjun@huawei.com>
    Cc: Hemant Kumar <hemant@linux.vnet.ibm.com>
    Cc: Li Bin <huawei.libin@huawei.com>
    Cc: Masami Hiramatsu <mhiramat@kernel.org>
    Cc: Milian Wolff <milian.wolff@kdab.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Wang Nan <wangnan0@huawei.com>
    Cc: zhangmengting@huawei.com
    Fixes: b2f7605076d6 ("perf symbols: Fix plt entry calculation for ARM and AARCH64")
    Link: http://lkml.kernel.org/r/20181017.120859.2268840244308635255.davem@davemloft.net
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    tools/perf/util/symbol-elf.c | 12 +++++++++++-
    1 file changed, 11 insertions(+), 1 deletion(-)

    diff --git a/tools/perf/util/symbol-elf.c b/tools/perf/util/symbol-elf.c
    index 2de770511e70..8ad4296de98b 100644
    --- a/tools/perf/util/symbol-elf.c
    +++ b/tools/perf/util/symbol-elf.c
    @@ -338,7 +338,17 @@ int dso__synthesize_plt_symbols(struct dso *dso, struct symsrc *ss, struct map *
    plt_entry_size = 16;
    break;

    - default: /* FIXME: s390/alpha/mips/parisc/poperpc/sh/sparc/xtensa need to be checked */
    + case EM_SPARC:
    + plt_header_size = 48;
    + plt_entry_size = 12;
    + break;
    +
    + case EM_SPARCV9:
    + plt_header_size = 128;
    + plt_entry_size = 32;
    + break;
    +
    + default: /* FIXME: s390/alpha/mips/parisc/poperpc/sh/xtensa need to be checked */
    plt_header_size = shdr_plt.sh_entsize;
    plt_entry_size = shdr_plt.sh_entsize;
    break;
    --
    2.17.1


    \
     
     \ /
      Last update: 2018-11-26 11:59    [W:4.221 / U:0.160 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site