Re: [PATCH 1/2] tools/perf: Add text_end to "struct dso" to save .text section size
From: Arnaldo Carvalho de Melo <acme@kernel.org>
Date: 2023-08-11 13:56:24
Also in:
linux-perf-users
Em Fri, Aug 11, 2023 at 10:51:27AM +0530, Athira Rajeev escreveu:
Update "struct dso" to include new member "text_end". This new field will represent the offset for end of text section for a dso. This value is derived as: sh_size (Size of section in byes) + sh_offset (Section file offst) of the elf header for text.
You're stating what this patch does, but not why. So far was not needed, why now? Probably the second patch will have the answer, but please try to add the reason on the patch that introduces the new field. Thanks, - Arnaldo
quoted hunk ↗ jump to hunk
Signed-off-by: Athira Rajeev <redacted> --- tools/perf/util/dso.h | 1 + tools/perf/util/symbol-elf.c | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-)diff --git a/tools/perf/util/dso.h b/tools/perf/util/dso.h index b41c9782c754..70fe0fe69bef 100644 --- a/tools/perf/util/dso.h +++ b/tools/perf/util/dso.h@@ -181,6 +181,7 @@ struct dso { u8 rel; struct build_id bid; u64 text_offset; + u64 text_end; const char *short_name; const char *long_name; u16 long_name_len;diff --git a/tools/perf/util/symbol-elf.c b/tools/perf/util/symbol-elf.c index 8bd466d1c2bd..252d26a59e64 100644 --- a/tools/perf/util/symbol-elf.c +++ b/tools/perf/util/symbol-elf.c@@ -1512,8 +1512,10 @@ dso__load_sym_internal(struct dso *dso, struct map *map, struct symsrc *syms_ss, } if (elf_section_by_name(runtime_ss->elf, &runtime_ss->ehdr, &tshdr, - ".text", NULL)) + ".text", NULL)) { dso->text_offset = tshdr.sh_addr - tshdr.sh_offset; + dso->text_end = tshdr.sh_offset + tshdr.sh_size; + } if (runtime_ss->opdsec) opddata = elf_rawdata(runtime_ss->opdsec, NULL);-- 2.31.1
-- - Arnaldo