[Lldb-commits] [lldb] [llvm] [lldb][Process/FreeBSDKernelCore] Set kernel displacement (PR #183975)

Jessica Clarke via lldb-commits lldb-commits at lists.llvm.org
Fri Mar 13 10:36:53 PDT 2026


================
@@ -365,6 +326,30 @@ lldb::addr_t ProcessFreeBSDKernelCore::FindSymbol(const char *name) {
   return sym ? sym->GetLoadAddress(&GetTarget()) : LLDB_INVALID_ADDRESS;
 }
 
+void ProcessFreeBSDKernelCore::SetKernelDisplacement() {
+  kssize_t displacement = kvm_kerndisp(m_kvm);
+
+  if (displacement == 0)
+    return;
+
+  Target &target = GetTarget();
+  lldb::ModuleSP kernel_module_sp = target.GetExecutableModule();
+  if (!kernel_module_sp)
+    return;
+
+  bool changed = false;
+  // Set offset (or displacement), not absolute address value.
+  kernel_module_sp->SetLoadAddress(target,
+                                   static_cast<lldb::addr_t>(displacement),
+                                   /*value_is_offset*/ true, changed);
----------------
jrtc27 wrote:

```suggestion
                                   /*value_is_offset=*/true, changed);
```
is the official style (https://llvm.org/docs/CodingStandards.html#comment-formatting), which is what my original code suggestion was, and written that way for a reason, though LLVM is not consistent about this.

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


More information about the lldb-commits mailing list