[all-commits] [llvm/llvm-project] 2590e4: [lldb][FreeBSDKernel] Find .debug files using pseu...

Minsoo Choo via All-commits all-commits at lists.llvm.org
Fri Oct 2 17:46:41 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 2590e4e2d10606000821336f3a163a0ac6b4d77d
      https://github.com/llvm/llvm-project/commit/2590e4e2d10606000821336f3a163a0ac6b4d77d
  Author: Minsoo Choo <minsoo at minsoo.io>
  Date:   2026-10-02 (Fri, 02 Oct 2026)

  Changed paths:
    M lldb/source/Plugins/DynamicLoader/FreeBSD-Kernel/DynamicLoaderFreeBSDKernel.cpp
    M lldb/source/Plugins/Process/FreeBSD-Kernel-Core/CMakeLists.txt
    M lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.cpp

  Log Message:
  -----------
  [lldb][FreeBSDKernel] Find .debug files using pseudo sysroot (#224845)

Unlike userspace processes, it is common to obtain kernel dump from a
machine (e.g. QEMU) which different from the machine debugging the dump.
In this case users need to run `target symbols add foo.debug` for the
kernel and each kernel object, which becomes quite inconvenient when the
machine had dozens of kernel modules loaded during the dump.

This patch adds functionality to the dynamic loader so that it loads
symbol files automatically when kernel or kenrel modules are loaded. It
assumes a pseudo sysroot. When kernel is located at
`/foo/boot/kernel/kernel`, it will look for
`foo/usr/lib/debug/boot/kernel/kernel.debug` and same for kernel
modules. In this case, the only thing users need to do is copying the
dumped machine's `/usr/lib/debug/boot` relative to `/boot` that is being
debugged.

Assisted-by: GPT



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list