* [PATCH 0/2] perf tools: Fix symbol and object code resolution for vdso32 and vdsox32
@ 2018-06-04 12:56 Adrian Hunter
2018-06-04 12:56 ` [PATCH 1/2] perf tests kmod-path: Add tests " Adrian Hunter
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Adrian Hunter @ 2018-06-04 12:56 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo; +Cc: Jiri Olsa, Wang Nan, linux-kernel
Hi
Here are a couple of small fixes for tracing 32-bit binaries on a 64-bit
kernel.
Adrian Hunter (2):
perf tests kmod-path: Add tests for vdso32 and vdsox32
perf tools: Fix symbol and object code resolution for vdso32 and vdsox32
tools/perf/tests/kmod-path.c | 16 ++++++++++++++++
tools/perf/util/dso.c | 2 ++
2 files changed, 18 insertions(+)
Regards
Adrian
^ permalink raw reply [flat|nested] 6+ messages in thread* [PATCH 1/2] perf tests kmod-path: Add tests for vdso32 and vdsox32 2018-06-04 12:56 [PATCH 0/2] perf tools: Fix symbol and object code resolution for vdso32 and vdsox32 Adrian Hunter @ 2018-06-04 12:56 ` Adrian Hunter 2018-06-07 8:17 ` [tip:perf/urgent] " tip-bot for Adrian Hunter 2018-06-04 12:56 ` [PATCH 2/2] perf tools: Fix symbol and object code resolution " Adrian Hunter 2018-06-04 13:44 ` [PATCH 0/2] " Arnaldo Carvalho de Melo 2 siblings, 1 reply; 6+ messages in thread From: Adrian Hunter @ 2018-06-04 12:56 UTC (permalink / raw) To: Arnaldo Carvalho de Melo; +Cc: Jiri Olsa, Wang Nan, linux-kernel Add tests for vdso32 and vdsox32. This will cause the overall test to fail because __kmod_path__parse() does not handle vdso32 or vdsox32. Fixes: 1f121b03d058 ("perf tools: Deal with kernel module names in '[]' correctly") Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> --- tools/perf/tests/kmod-path.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/tools/perf/tests/kmod-path.c b/tools/perf/tests/kmod-path.c index 8e57d46109de..148dd31cc201 100644 --- a/tools/perf/tests/kmod-path.c +++ b/tools/perf/tests/kmod-path.c @@ -127,6 +127,22 @@ int test__kmod_path__parse(struct test *t __maybe_unused, int subtest __maybe_un M("[vdso]", PERF_RECORD_MISC_KERNEL, false); M("[vdso]", PERF_RECORD_MISC_USER, false); + T("[vdso32]", true , true , false, false, "[vdso32]", NULL); + T("[vdso32]", false , true , false, false, NULL , NULL); + T("[vdso32]", true , false , false, false, "[vdso32]", NULL); + T("[vdso32]", false , false , false, false, NULL , NULL); + M("[vdso32]", PERF_RECORD_MISC_CPUMODE_UNKNOWN, false); + M("[vdso32]", PERF_RECORD_MISC_KERNEL, false); + M("[vdso32]", PERF_RECORD_MISC_USER, false); + + T("[vdsox32]", true , true , false, false, "[vdsox32]", NULL); + T("[vdsox32]", false , true , false, false, NULL , NULL); + T("[vdsox32]", true , false , false, false, "[vdsox32]", NULL); + T("[vdsox32]", false , false , false, false, NULL , NULL); + M("[vdsox32]", PERF_RECORD_MISC_CPUMODE_UNKNOWN, false); + M("[vdsox32]", PERF_RECORD_MISC_KERNEL, false); + M("[vdsox32]", PERF_RECORD_MISC_USER, false); + /* path alloc_name alloc_ext kmod comp name ext */ T("[vsyscall]", true , true , false, false, "[vsyscall]", NULL); T("[vsyscall]", false , true , false, false, NULL , NULL); -- 1.9.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [tip:perf/urgent] perf tests kmod-path: Add tests for vdso32 and vdsox32 2018-06-04 12:56 ` [PATCH 1/2] perf tests kmod-path: Add tests " Adrian Hunter @ 2018-06-07 8:17 ` tip-bot for Adrian Hunter 0 siblings, 0 replies; 6+ messages in thread From: tip-bot for Adrian Hunter @ 2018-06-07 8:17 UTC (permalink / raw) To: linux-tip-commits Cc: linux-kernel, wangnan0, mingo, tglx, acme, hpa, adrian.hunter, jolsa Commit-ID: dcaeae4e2c266452e04dc3d83b10469be9fe419e Gitweb: https://git.kernel.org/tip/dcaeae4e2c266452e04dc3d83b10469be9fe419e Author: Adrian Hunter <adrian.hunter@intel.com> AuthorDate: Mon, 4 Jun 2018 15:56:53 +0300 Committer: Arnaldo Carvalho de Melo <acme@redhat.com> CommitDate: Wed, 6 Jun 2018 12:52:03 -0300 perf tests kmod-path: Add tests for vdso32 and vdsox32 Add tests for vdso32 and vdsox32. This will cause the overall test to fail because __kmod_path__parse() does not handle vdso32 or vdsox32. Fixes: 1f121b03d058 ("perf tools: Deal with kernel module names in '[]' correctly") Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Wang Nan <wangnan0@huawei.com> Link: http://lkml.kernel.org/r/1528117014-30032-2-git-send-email-adrian.hunter@intel.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> --- tools/perf/tests/kmod-path.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/tools/perf/tests/kmod-path.c b/tools/perf/tests/kmod-path.c index 8e57d46109de..148dd31cc201 100644 --- a/tools/perf/tests/kmod-path.c +++ b/tools/perf/tests/kmod-path.c @@ -127,6 +127,22 @@ int test__kmod_path__parse(struct test *t __maybe_unused, int subtest __maybe_un M("[vdso]", PERF_RECORD_MISC_KERNEL, false); M("[vdso]", PERF_RECORD_MISC_USER, false); + T("[vdso32]", true , true , false, false, "[vdso32]", NULL); + T("[vdso32]", false , true , false, false, NULL , NULL); + T("[vdso32]", true , false , false, false, "[vdso32]", NULL); + T("[vdso32]", false , false , false, false, NULL , NULL); + M("[vdso32]", PERF_RECORD_MISC_CPUMODE_UNKNOWN, false); + M("[vdso32]", PERF_RECORD_MISC_KERNEL, false); + M("[vdso32]", PERF_RECORD_MISC_USER, false); + + T("[vdsox32]", true , true , false, false, "[vdsox32]", NULL); + T("[vdsox32]", false , true , false, false, NULL , NULL); + T("[vdsox32]", true , false , false, false, "[vdsox32]", NULL); + T("[vdsox32]", false , false , false, false, NULL , NULL); + M("[vdsox32]", PERF_RECORD_MISC_CPUMODE_UNKNOWN, false); + M("[vdsox32]", PERF_RECORD_MISC_KERNEL, false); + M("[vdsox32]", PERF_RECORD_MISC_USER, false); + /* path alloc_name alloc_ext kmod comp name ext */ T("[vsyscall]", true , true , false, false, "[vsyscall]", NULL); T("[vsyscall]", false , true , false, false, NULL , NULL); ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 2/2] perf tools: Fix symbol and object code resolution for vdso32 and vdsox32 2018-06-04 12:56 [PATCH 0/2] perf tools: Fix symbol and object code resolution for vdso32 and vdsox32 Adrian Hunter 2018-06-04 12:56 ` [PATCH 1/2] perf tests kmod-path: Add tests " Adrian Hunter @ 2018-06-04 12:56 ` Adrian Hunter 2018-06-07 8:18 ` [tip:perf/urgent] " tip-bot for Adrian Hunter 2018-06-04 13:44 ` [PATCH 0/2] " Arnaldo Carvalho de Melo 2 siblings, 1 reply; 6+ messages in thread From: Adrian Hunter @ 2018-06-04 12:56 UTC (permalink / raw) To: Arnaldo Carvalho de Melo; +Cc: Jiri Olsa, Wang Nan, linux-kernel Fix __kmod_path__parse() so that perf tools does not treat vdso32 and vdsox32 as kernel modules and fail to find the object. Fixes: 1f121b03d058 ("perf tools: Deal with kernel module names in '[]' correctly") Cc: stable@vger.kernel.org Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> --- tools/perf/util/dso.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/perf/util/dso.c b/tools/perf/util/dso.c index cdfc2e5f55f5..51cf82cf1882 100644 --- a/tools/perf/util/dso.c +++ b/tools/perf/util/dso.c @@ -354,6 +354,8 @@ int __kmod_path__parse(struct kmod_path *m, const char *path, if ((strncmp(name, "[kernel.kallsyms]", 17) == 0) || (strncmp(name, "[guest.kernel.kallsyms", 22) == 0) || (strncmp(name, "[vdso]", 6) == 0) || + (strncmp(name, "[vdso32]", 8) == 0) || + (strncmp(name, "[vdsox32]", 9) == 0) || (strncmp(name, "[vsyscall]", 10) == 0)) { m->kmod = false; -- 1.9.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [tip:perf/urgent] perf tools: Fix symbol and object code resolution for vdso32 and vdsox32 2018-06-04 12:56 ` [PATCH 2/2] perf tools: Fix symbol and object code resolution " Adrian Hunter @ 2018-06-07 8:18 ` tip-bot for Adrian Hunter 0 siblings, 0 replies; 6+ messages in thread From: tip-bot for Adrian Hunter @ 2018-06-07 8:18 UTC (permalink / raw) To: linux-tip-commits Cc: acme, linux-kernel, hpa, adrian.hunter, tglx, jolsa, mingo, wangnan0 Commit-ID: aef4feace285f27c8ed35830a5d575bec7f3e90a Gitweb: https://git.kernel.org/tip/aef4feace285f27c8ed35830a5d575bec7f3e90a Author: Adrian Hunter <adrian.hunter@intel.com> AuthorDate: Mon, 4 Jun 2018 15:56:54 +0300 Committer: Arnaldo Carvalho de Melo <acme@redhat.com> CommitDate: Wed, 6 Jun 2018 12:52:04 -0300 perf tools: Fix symbol and object code resolution for vdso32 and vdsox32 Fix __kmod_path__parse() so that perf tools does not treat vdso32 and vdsox32 as kernel modules and fail to find the object. Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Wang Nan <wangnan0@huawei.com> Cc: stable@vger.kernel.org Fixes: 1f121b03d058 ("perf tools: Deal with kernel module names in '[]' correctly") Link: http://lkml.kernel.org/r/1528117014-30032-3-git-send-email-adrian.hunter@intel.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> --- tools/perf/util/dso.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/perf/util/dso.c b/tools/perf/util/dso.c index cdfc2e5f55f5..51cf82cf1882 100644 --- a/tools/perf/util/dso.c +++ b/tools/perf/util/dso.c @@ -354,6 +354,8 @@ int __kmod_path__parse(struct kmod_path *m, const char *path, if ((strncmp(name, "[kernel.kallsyms]", 17) == 0) || (strncmp(name, "[guest.kernel.kallsyms", 22) == 0) || (strncmp(name, "[vdso]", 6) == 0) || + (strncmp(name, "[vdso32]", 8) == 0) || + (strncmp(name, "[vdsox32]", 9) == 0) || (strncmp(name, "[vsyscall]", 10) == 0)) { m->kmod = false; ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 0/2] perf tools: Fix symbol and object code resolution for vdso32 and vdsox32 2018-06-04 12:56 [PATCH 0/2] perf tools: Fix symbol and object code resolution for vdso32 and vdsox32 Adrian Hunter 2018-06-04 12:56 ` [PATCH 1/2] perf tests kmod-path: Add tests " Adrian Hunter 2018-06-04 12:56 ` [PATCH 2/2] perf tools: Fix symbol and object code resolution " Adrian Hunter @ 2018-06-04 13:44 ` Arnaldo Carvalho de Melo 2 siblings, 0 replies; 6+ messages in thread From: Arnaldo Carvalho de Melo @ 2018-06-04 13:44 UTC (permalink / raw) To: Adrian Hunter; +Cc: Jiri Olsa, Wang Nan, linux-kernel Em Mon, Jun 04, 2018 at 03:56:52PM +0300, Adrian Hunter escreveu: > Hi > > Here are a couple of small fixes for tracing 32-bit binaries on a 64-bit > kernel. Thanks, applied both to both perf/urgent and perf/core. - Arnaldo > > Adrian Hunter (2): > perf tests kmod-path: Add tests for vdso32 and vdsox32 > perf tools: Fix symbol and object code resolution for vdso32 and vdsox32 > > tools/perf/tests/kmod-path.c | 16 ++++++++++++++++ > tools/perf/util/dso.c | 2 ++ > 2 files changed, 18 insertions(+) > > > Regards > Adrian ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2018-06-07 8:18 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2018-06-04 12:56 [PATCH 0/2] perf tools: Fix symbol and object code resolution for vdso32 and vdsox32 Adrian Hunter 2018-06-04 12:56 ` [PATCH 1/2] perf tests kmod-path: Add tests " Adrian Hunter 2018-06-07 8:17 ` [tip:perf/urgent] " tip-bot for Adrian Hunter 2018-06-04 12:56 ` [PATCH 2/2] perf tools: Fix symbol and object code resolution " Adrian Hunter 2018-06-07 8:18 ` [tip:perf/urgent] " tip-bot for Adrian Hunter 2018-06-04 13:44 ` [PATCH 0/2] " Arnaldo Carvalho de Melo
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox