diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2016-07-30 12:11:36 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-07-30 12:11:36 -0700 |
commit | 7f7d556496a025e5334d52df9e1ebe3674cda22a (patch) | |
tree | 8381f6643367fa6ca26a0f9f6325baca155a9a12 /tools/perf/arch | |
parent | 228ffba23e6865651c12626d5b46524a205ba810 (diff) | |
parent | 9ecabeded80b0ea60a75a8ed7df0c90cd36e6a3d (diff) | |
download | linux-7f7d556496a025e5334d52df9e1ebe3674cda22a.tar.gz linux-7f7d556496a025e5334d52df9e1ebe3674cda22a.tar.bz2 linux-7f7d556496a025e5334d52df9e1ebe3674cda22a.zip |
Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull perf fixes from Thomas Gleixner:
"This update contains:
- a fix for the bpf tools to use the new EM_BPF code
- a fix for the module parser of perf to retrieve the
proper text start address
- add str_error_c to libapi to avoid linking against
tools/lib/str_error_r.o"
* 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
tools lib api: Add str_error_c to libapi
perf s390: Fix 'start' address of module's map
tools lib bpf: Use official ELF e_machine value
Diffstat (limited to 'tools/perf/arch')
-rw-r--r-- | tools/perf/arch/s390/util/Build | 2 | ||||
-rw-r--r-- | tools/perf/arch/s390/util/machine.c | 19 |
2 files changed, 21 insertions, 0 deletions
diff --git a/tools/perf/arch/s390/util/Build b/tools/perf/arch/s390/util/Build index 8a61372bb47a..5bd7b9260cc0 100644 --- a/tools/perf/arch/s390/util/Build +++ b/tools/perf/arch/s390/util/Build @@ -2,3 +2,5 @@ libperf-y += header.o libperf-y += kvm-stat.o libperf-$(CONFIG_DWARF) += dwarf-regs.o + +libperf-y += machine.o diff --git a/tools/perf/arch/s390/util/machine.c b/tools/perf/arch/s390/util/machine.c new file mode 100644 index 000000000000..b9a95a1a8e69 --- /dev/null +++ b/tools/perf/arch/s390/util/machine.c @@ -0,0 +1,19 @@ +#include <unistd.h> +#include <stdio.h> +#include <string.h> +#include "util.h" +#include "machine.h" +#include "api/fs/fs.h" + +int arch__fix_module_text_start(u64 *start, const char *name) +{ + char path[PATH_MAX]; + + snprintf(path, PATH_MAX, "module/%.*s/sections/.text", + (int)strlen(name) - 2, name + 1); + + if (sysfs__read_ull(path, (unsigned long long *)start) < 0) + return -1; + + return 0; +} |