mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-09-22 04:31:58 +08:00
perf genelf: Set ELF program header addresses properly
[ Upstream commit1af478903f
] The text section starts after the ELF headers so PHDR.p_vaddr and others should have the correct addresses. Fixes:babd04386b
("perf jit: Include program header in ELF files") Reviewed-by: Ian Rogers <irogers@google.com> Signed-off-by: Namhyung Kim <namhyung@kernel.org> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Fangrui Song <maskray@google.com> Cc: Ingo Molnar <mingo@kernel.org> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Lieven Hey <lieven.hey@kdab.com> Cc: Milian Wolff <milian.wolff@kdab.com> Cc: Pablo Galindo <pablogsal@gmail.com> Cc: Peter Zijlstra <peterz@infradead.org> Link: https://lore.kernel.org/r/20231212070547.612536-2-namhyung@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
4cb5213213
commit
ed863a4d48
@ -293,9 +293,9 @@ jit_write_elf(int fd, uint64_t load_addr, const char *sym,
|
||||
*/
|
||||
phdr = elf_newphdr(e, 1);
|
||||
phdr[0].p_type = PT_LOAD;
|
||||
phdr[0].p_offset = 0;
|
||||
phdr[0].p_vaddr = 0;
|
||||
phdr[0].p_paddr = 0;
|
||||
phdr[0].p_offset = GEN_ELF_TEXT_OFFSET;
|
||||
phdr[0].p_vaddr = GEN_ELF_TEXT_OFFSET;
|
||||
phdr[0].p_paddr = GEN_ELF_TEXT_OFFSET;
|
||||
phdr[0].p_filesz = csize;
|
||||
phdr[0].p_memsz = csize;
|
||||
phdr[0].p_flags = PF_X | PF_R;
|
||||
|
Loading…
Reference in New Issue
Block a user