]> 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)
commitc8873313bf81e615ad0892bb3c4f8e9b0e967b6c
tree1ac97454a6980ee16075775eee2d979a0dfbd00b
parent6522acf2018fd1780916705e99c9adddd16a056f
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