]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commit - tools/perf/util/machine.c
perf s390: Fix 'start' address of module's map
authorSong Shan Gong <gongss@linux.vnet.ibm.com>
Thu, 21 Jul 2016 03:10:51 +0000 (11:10 +0800)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Tue, 26 Jul 2016 19:46:12 +0000 (16:46 -0300)
commit203d8a4aa6edf2c19206316d439ec5dae52ce581
tree1ac97454a6980ee16075775eee2d979a0dfbd00b
parent9b16137ab0feec00f8c9b52a63d4034a6d199d30
perf s390: Fix 'start' address of module's map

At present, when creating module's map, perf gets 'start' address by
parsing '/proc/modules', but it's the module base address, it isn't the
start address of the '.text' section.

In most arches, it's OK. But for s390, it places 'GOT' and 'PLT'
relocations before '.text' section. So there exists an offset between
module base address and '.text' section, which will incur wrong symbol
resolution for modules.

Fix this bug by getting 'start' address of module's map from parsing
'/sys/module/[module name]/sections/.text', not from '/proc/modules'.

Signed-off-by: Song Shan Gong <gongss@linux.vnet.ibm.com>
Acked-by: Jiri Olsa <jolsa@kernel.org>
Cc: Christian Borntraeger <borntraeger@de.ibm.com>
Cc: David Ahern <dsahern@gmail.com>
Link: http://lkml.kernel.org/r/1469070651-6447-2-git-send-email-gongss@linux.vnet.ibm.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/arch/s390/util/Build
tools/perf/arch/s390/util/machine.c [new file with mode: 0644]
tools/perf/util/machine.c
tools/perf/util/machine.h