]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commita1fa2a2ff9eb080d76dc1bf72e6250583b4dce7b
tree1ac97454a6980ee16075775eee2d979a0dfbd00b
parentdbe34786a0c0b934bdc843466f5b7856027dfbf8
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