[llvm] [llvm-profgen] Handle perf mmaps with page sizes larger than 4 KiB (PR #217887)

via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 26 22:20:37 PDT 2026


================
@@ -453,15 +453,17 @@ class ProfiledBinary {
   // Return the build ID used for filtering perfscript addresses.
   StringRef getFilterBuildID() const { return FilterBuildID; }
 
-  // Canonicalize to use preferred load address as base address.
+  // Translate a runtime address to its preferred virtual address.
   uint64_t canonicalizeVirtualAddress(uint64_t Address) {
     return Address - BaseAddress + getPreferredBaseAddress();
   }
-  // Return the preferred load address for the first executable segment.
+  // Return the preferred base used to canonicalize sampled addresses.
   uint64_t getPreferredBaseAddress() const {
-    return PreferredTextSegmentAddresses[0];
+    if (IsCOFF || IsKernel)
----------------
HighW4y2H3ll wrote:

kernel should also be `PreferredTextSegmentAddresses[0] - TextSegmentOffsets[0]`?

https://github.com/llvm/llvm-project/pull/217887


More information about the llvm-commits mailing list