• Namhyung Kim's avatar
    perf unwind-libdw: Handle JIT-generated DSOs properly · c966d23a
    Namhyung Kim authored
    Usually DSOs are mapped from the beginning of the file, so the base
    address of the DSO can be calculated by map->start - map->pgoff.
    
    However, JIT DSOs which are generated by `perf inject -j`, are mapped
    only the code segment.  This makes unwind-libdw code confusing and
    rejects processing unwinds in the JIT DSOs.  It should use the map
    start address as base for them to fix the confusion.
    
    Fixes: 1fe627da ("perf unwind: Take pgoff into account when reporting elf to libdwfl")
    Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Fangrui Song <maskray@google.com>
    Cc: Ian Rogers <irogers@google.com>
    Cc: Ingo Molnar <mingo@kernel.org>
    Cc: Jiri Olsa <jolsa@kernel.org>
    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-3-namhyung@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    c966d23a
unwind-libdw.c 7.49 KB