llvm-project/bolt/lib/Profile
Maksim Panchenko 77b75ca53f [BOLT][perf2bolt] Fix base address calculation for shared objects
When processing profile data for shared object or PIE, perf2bolt needs
to calculate base address of the binary based on the map info reported
by the perf tool. When the mapping data provided is for the second
(or any other than the first) segment and the segment's file offset
does not match its memory offset, perf2bolt uses wrong assumption
about the binary base address.

Add a function to calculate binary base address using the reported
memory mapping and use the returned base for further address
adjustments.

Reviewed By: yota9

Differential Revision: https://reviews.llvm.org/D123755
2022-04-14 10:29:53 -07:00
..
BoltAddressTranslation.cpp [BOLT][NFC] Fix braces usage in Profile 2021-12-28 18:29:54 -08:00
CMakeLists.txt Rebase: [NFC] Refactor sources to be buildable in shared mode 2021-10-08 11:47:10 -07:00
DataAggregator.cpp [BOLT][perf2bolt] Fix base address calculation for shared objects 2022-04-14 10:29:53 -07:00
DataReader.cpp Cleanup LLVMDWARFDebugInfo 2022-02-15 09:16:03 +01:00
Heatmap.cpp [BOLT][NFC] Fix braces usage in Profile 2021-12-28 18:29:54 -08:00
ProfileReaderBase.cpp [BOLT][NFC] Fix file-description comments 2021-12-21 10:21:41 -08:00
YAMLProfileReader.cpp [BOLT][NFC] Fix braces usage in Profile 2021-12-28 18:29:54 -08:00
YAMLProfileWriter.cpp [BOLT][NFC] Expand auto types pt.2 2022-01-21 12:02:57 -08:00