From: cp0613@linux.alibaba.com
To: peterz@infradead.org, mingo@redhat.com, acme@kernel.org,
namhyung@kernel.org, irogers@google.com, pjw@kernel.org,
alex@ghiti.fr, guoren@kernel.org
Cc: linux-perf-users@vger.kernel.org,
linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org,
Chen Pei <cp0613@linux.alibaba.com>
Subject: [PATCH] perf symbol: Add RISCV case in get_plt_sizes
Date: Tue, 17 Mar 2026 11:48:47 +0800 [thread overview]
Message-ID: <20260317034847.4136-1-cp0613@linux.alibaba.com> (raw)
From: Chen Pei <cp0613@linux.alibaba.com>
According to RISC-V psABI specification, the PLT (Program Linkage Table)
has the following layout:
- The first PLT entry occupies two 16-byte entries (32 bytes total)
- Subsequent PLT entries take up 16 bytes each
This aligns with the binutils-gdb implementation which defines the same
PLT sizes for RISC-V architecture.
Update get_plt_sizes() to set plt_header_size=32 and plt_entry_size=16
for EM_RISCV, matching the architecture's standard ABI.
Since AARCH64, LOONGARCH, and RISCV have the same PLT size definition,
they are merged together.
Link: https://github.com/riscv-non-isa/riscv-elf-psabi-doc
Link: https://sourceware.org/git/?p=binutils-gdb.git;a=blob;f=bfd/elfnn-riscv.c
Signed-off-by: Chen Pei <cp0613@linux.alibaba.com>
---
tools/perf/util/symbol-elf.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/tools/perf/util/symbol-elf.c b/tools/perf/util/symbol-elf.c
index 76912c62b6a0..806936d95523 100644
--- a/tools/perf/util/symbol-elf.c
+++ b/tools/perf/util/symbol-elf.c
@@ -372,10 +372,8 @@ static bool get_plt_sizes(struct dso *dso, GElf_Ehdr *ehdr, GElf_Shdr *shdr_plt,
*plt_entry_size = 12;
return true;
case EM_AARCH64:
- *plt_header_size = 32;
- *plt_entry_size = 16;
- return true;
case EM_LOONGARCH:
+ case EM_RISCV:
*plt_header_size = 32;
*plt_entry_size = 16;
return true;
--
2.50.1
next reply other threads:[~2026-03-17 3:49 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-17 3:48 cp0613 [this message]
2026-03-17 6:29 ` [PATCH] perf symbol: Add RISCV case in get_plt_sizes Guo Ren
2026-03-19 17:24 ` Namhyung Kim
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260317034847.4136-1-cp0613@linux.alibaba.com \
--to=cp0613@linux.alibaba.com \
--cc=acme@kernel.org \
--cc=alex@ghiti.fr \
--cc=guoren@kernel.org \
--cc=irogers@google.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=linux-riscv@lists.infradead.org \
--cc=mingo@redhat.com \
--cc=namhyung@kernel.org \
--cc=peterz@infradead.org \
--cc=pjw@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox