Re: [PATCH] perf: Set PLT entry/header sizes properly on Sparc.

2018-10-18 Thread Arnaldo Carvalho de Melo
Em Wed, Oct 17, 2018 at 12:08:59PM -0700, David Miller escreveu:
> 
> Using the sh_entsize for both values isn't correct.  It happens
> to be correct on x86...
> 
> For both 32-bit and 64-bit sparc, there are four PLT entries in the
> PLT section.

Thanks, applied.

- Arnaldo


Re: [PATCH] perf: Set PLT entry/header sizes properly on Sparc.

2018-10-18 Thread Arnaldo Carvalho de Melo
Em Wed, Oct 17, 2018 at 12:08:59PM -0700, David Miller escreveu:
> 
> Using the sh_entsize for both values isn't correct.  It happens
> to be correct on x86...
> 
> For both 32-bit and 64-bit sparc, there are four PLT entries in the
> PLT section.

Thanks, applied.

- Arnaldo


[PATCH] perf: Set PLT entry/header sizes properly on Sparc.

2018-10-17 Thread David Miller


Using the sh_entsize for both values isn't correct.  It happens
to be correct on x86...

For both 32-bit and 64-bit sparc, there are four PLT entries in the
PLT section.

Signed-off-by: David S. Miller 
---
 tools/perf/util/symbol-elf.c | 12 +++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/tools/perf/util/symbol-elf.c b/tools/perf/util/symbol-elf.c
index 29770ea61768..6e70cc00c161 100644
--- a/tools/perf/util/symbol-elf.c
+++ b/tools/perf/util/symbol-elf.c
@@ -324,7 +324,17 @@ int dso__synthesize_plt_symbols(struct dso *dso, struct 
symsrc *ss)
plt_entry_size = 16;
break;
 
-   default: /* FIXME: 
s390/alpha/mips/parisc/poperpc/sh/sparc/xtensa need to be checked */
+   case EM_SPARC:
+   plt_header_size = 48;
+   plt_entry_size = 12;
+   break;
+
+   case EM_SPARCV9:
+   plt_header_size = 128;
+   plt_entry_size = 32;
+   break;
+
+   default: /* FIXME: s390/alpha/mips/parisc/poperpc/sh/xtensa 
need to be checked */
plt_header_size = shdr_plt.sh_entsize;
plt_entry_size = shdr_plt.sh_entsize;
break;
-- 
2.19.1.328.g5a0cc8aca



[PATCH] perf: Set PLT entry/header sizes properly on Sparc.

2018-10-17 Thread David Miller


Using the sh_entsize for both values isn't correct.  It happens
to be correct on x86...

For both 32-bit and 64-bit sparc, there are four PLT entries in the
PLT section.

Signed-off-by: David S. Miller 
---
 tools/perf/util/symbol-elf.c | 12 +++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/tools/perf/util/symbol-elf.c b/tools/perf/util/symbol-elf.c
index 29770ea61768..6e70cc00c161 100644
--- a/tools/perf/util/symbol-elf.c
+++ b/tools/perf/util/symbol-elf.c
@@ -324,7 +324,17 @@ int dso__synthesize_plt_symbols(struct dso *dso, struct 
symsrc *ss)
plt_entry_size = 16;
break;
 
-   default: /* FIXME: 
s390/alpha/mips/parisc/poperpc/sh/sparc/xtensa need to be checked */
+   case EM_SPARC:
+   plt_header_size = 48;
+   plt_entry_size = 12;
+   break;
+
+   case EM_SPARCV9:
+   plt_header_size = 128;
+   plt_entry_size = 32;
+   break;
+
+   default: /* FIXME: s390/alpha/mips/parisc/poperpc/sh/xtensa 
need to be checked */
plt_header_size = shdr_plt.sh_entsize;
plt_entry_size = shdr_plt.sh_entsize;
break;
-- 
2.19.1.328.g5a0cc8aca