mirror of
https://github.com/torvalds/linux
synced 2024-11-05 18:23:50 +00:00
perf genelf: Set ELF program header addresses properly
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>
This commit is contained in:
parent
6f33e6fa29
commit
1af478903f
1 changed files with 3 additions and 3 deletions
|
@ -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 a new issue