mirror of
https://github.com/torvalds/linux.git
synced 2026-06-06 05:27:07 +02: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
2f4c1c3580
commit
c8d6d5d080
|
|
@ -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