2018-08-28 09:10:21

by Sandipan Das

[permalink] [raw]
Subject: [PATCH] perf probe powerpc: Ignore SyS symbols irrespective of endianness

This makes sure that the SyS symbols are ignored for any powerpc
system, not just the big endian ones.

Fixes: fb6d59423115 ("perf probe ppc: Use the right prefix when ignoring SyS symbols on ppc")
Reported-by: Naveen N. Rao <[email protected]>
Signed-off-by: Sandipan Das <[email protected]>
Reviewed-by: Kamalesh Babulal <[email protected]>
---
tools/perf/arch/powerpc/util/sym-handling.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/tools/perf/arch/powerpc/util/sym-handling.c b/tools/perf/arch/powerpc/util/sym-handling.c
index 20e7d74d86cd..10a44e946f77 100644
--- a/tools/perf/arch/powerpc/util/sym-handling.c
+++ b/tools/perf/arch/powerpc/util/sym-handling.c
@@ -22,15 +22,16 @@ bool elf__needs_adjust_symbols(GElf_Ehdr ehdr)

#endif

-#if !defined(_CALL_ELF) || _CALL_ELF != 2
int arch__choose_best_symbol(struct symbol *syma,
struct symbol *symb __maybe_unused)
{
char *sym = syma->name;

+#if !defined(_CALL_ELF) || _CALL_ELF != 2
/* Skip over any initial dot */
if (*sym == '.')
sym++;
+#endif

/* Avoid "SyS" kernel syscall aliases */
if (strlen(sym) >= 3 && !strncmp(sym, "SyS", 3))
@@ -41,6 +42,7 @@ int arch__choose_best_symbol(struct symbol *syma,
return SYMBOL_A;
}

+#if !defined(_CALL_ELF) || _CALL_ELF != 2
/* Allow matching against dot variants */
int arch__compare_symbol_names(const char *namea, const char *nameb)
{
--
2.14.4



2018-08-28 09:21:03

by Naveen N. Rao

[permalink] [raw]
Subject: Re: [PATCH] perf probe powerpc: Ignore SyS symbols irrespective of endianness

Sandipan Das wrote:
> This makes sure that the SyS symbols are ignored for any powerpc
> system, not just the big endian ones.
>
> Fixes: fb6d59423115 ("perf probe ppc: Use the right prefix when ignoring SyS symbols on ppc")
> Reported-by: Naveen N. Rao <[email protected]>
> Signed-off-by: Sandipan Das <[email protected]>
> Reviewed-by: Kamalesh Babulal <[email protected]>
> ---
> tools/perf/arch/powerpc/util/sym-handling.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)

LGTM. Thanks for the fix.
Acked-by: Naveen N. Rao <[email protected]>

- Naveen



2018-08-30 18:19:27

by Arnaldo Carvalho de Melo

[permalink] [raw]
Subject: Re: [PATCH] perf probe powerpc: Ignore SyS symbols irrespective of endianness

Em Tue, Aug 28, 2018 at 02:49:15PM +0530, Naveen N. Rao escreveu:
> Sandipan Das wrote:
> > This makes sure that the SyS symbols are ignored for any powerpc
> > system, not just the big endian ones.
> >
> > Fixes: fb6d59423115 ("perf probe ppc: Use the right prefix when ignoring SyS symbols on ppc")
> > Reported-by: Naveen N. Rao <[email protected]>
> > Signed-off-by: Sandipan Das <[email protected]>
> > Reviewed-by: Kamalesh Babulal <[email protected]>
> > ---
> > tools/perf/arch/powerpc/util/sym-handling.c | 4 +++-
> > 1 file changed, 3 insertions(+), 1 deletion(-)
>
> LGTM. Thanks for the fix.
> Acked-by: Naveen N. Rao <[email protected]>

Thanks, applied.

- Arnaldo

Subject: [tip:perf/core] perf probe powerpc: Ignore SyS symbols irrespective of endianness

Commit-ID: fa694160cca6dbba17c57dc7efec5f93feaf8795
Gitweb: https://git.kernel.org/tip/fa694160cca6dbba17c57dc7efec5f93feaf8795
Author: Sandipan Das <[email protected]>
AuthorDate: Tue, 28 Aug 2018 14:38:48 +0530
Committer: Arnaldo Carvalho de Melo <[email protected]>
CommitDate: Thu, 30 Aug 2018 15:15:11 -0300

perf probe powerpc: Ignore SyS symbols irrespective of endianness

This makes sure that the SyS symbols are ignored for any powerpc system,
not just the big endian ones.

Reported-by: Naveen N. Rao <[email protected]>
Signed-off-by: Sandipan Das <[email protected]>
Reviewed-by: Kamalesh Babulal <[email protected]>
Acked-by: Naveen N. Rao <[email protected]>
Cc: Jiri Olsa <[email protected]>
Cc: Ravi Bangoria <[email protected]>
Fixes: fb6d59423115 ("perf probe ppc: Use the right prefix when ignoring SyS symbols on ppc")
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
---
tools/perf/arch/powerpc/util/sym-handling.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/tools/perf/arch/powerpc/util/sym-handling.c b/tools/perf/arch/powerpc/util/sym-handling.c
index 20e7d74d86cd..10a44e946f77 100644
--- a/tools/perf/arch/powerpc/util/sym-handling.c
+++ b/tools/perf/arch/powerpc/util/sym-handling.c
@@ -22,15 +22,16 @@ bool elf__needs_adjust_symbols(GElf_Ehdr ehdr)

#endif

-#if !defined(_CALL_ELF) || _CALL_ELF != 2
int arch__choose_best_symbol(struct symbol *syma,
struct symbol *symb __maybe_unused)
{
char *sym = syma->name;

+#if !defined(_CALL_ELF) || _CALL_ELF != 2
/* Skip over any initial dot */
if (*sym == '.')
sym++;
+#endif

/* Avoid "SyS" kernel syscall aliases */
if (strlen(sym) >= 3 && !strncmp(sym, "SyS", 3))
@@ -41,6 +42,7 @@ int arch__choose_best_symbol(struct symbol *syma,
return SYMBOL_A;
}

+#if !defined(_CALL_ELF) || _CALL_ELF != 2
/* Allow matching against dot variants */
int arch__compare_symbol_names(const char *namea, const char *nameb)
{