summerofcode2023projects:lldbkernelmoduleimprovement

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
summerofcode2023projects:lldbkernelmoduleimprovement [2023/08/22 11:40] – feat: add demo for GSoC Project ShengYiHongsummerofcode2023projects:lldbkernelmoduleimprovement [2023/08/30 14:17] (current) – feat: change commit branch to simplify change ShengYiHong
Line 21: Line 21:
  
 In LLDB’s userspace implementation, it read the kinfovmentry to get the In LLDB’s userspace implementation, it read the kinfovmentry to get the
-loaded module information, and thus modules can be found in the [[/GetLoadedModuleFileSpce|GetLoadedModuleFileSpce]] method.+loaded module information, and thus modules can be found in the %%GetLoadedModuleFileSpce%% method.
 What we have to do is to combine LLDB userspace and kgdb in LLDB What we have to do is to combine LLDB userspace and kgdb in LLDB
 kernel space. kernel space.
Line 42: Line 42:
   * June 12th - June 26th   * June 12th - June 26th
  
-In this week, I implement LLDB interface sketch for [[/DynamicLoader|DynamicLoader]] %%FreeBSD%% Kernel (%%DynamicLoaderFreeBSDKernel%%) that contains parsing kernel loader address and designinbg kld memory Image structure that contain enough information to create lldb Module.+In this week, I implement LLDB interface sketch for %%DynamicLoader%% %%FreeBSD%% Kernel (%%DynamicLoaderFreeBSDKernel%%) that contains parsing kernel loader address and designinbg kld memory Image structure that contain enough information to create lldb Module.
 Also, the lldb Module information for Kernel is also parsed so that can provide lldb recognize the Kernel. Also, the lldb Module information for Kernel is also parsed so that can provide lldb recognize the Kernel.
  
Line 69: Line 69:
 ===== The Code ===== ===== The Code =====
  
-https://github.com/aokblast/freebsd-src/tree/lldb_dynamicloader_freebsd_kernel+https://github.com/aokblast/freebsd-src/tree/lldb_dynamicloader_freebsd_kernel_review
  
 ===== Final Production ===== ===== Final Production =====
Line 119: Line 119:
  
 <code> <code>
 +(lldb) image dump symtab cryptodev.ko
 +Symtab, file = /boot/kernel/cryptodev.ko, num_symbols = 120:
 +               Debug symbol
 +               |Synthetic symbol
 +               ||Externally Visible
 +               |||
 Index   UserID DSX Type            File Address/Value Load Address       Size               Flags      Name Index   UserID DSX Type            File Address/Value Load Address       Size               Flags      Name
 ------- ------ --- --------------- ------------------ ------------------ ------------------ ---------- ---------------------------------- ------- ------ --- --------------- ------------------ ------------------ ------------------ ---------- ----------------------------------
  • summerofcode2023projects/lldbkernelmoduleimprovement.1692704401.txt.gz
  • Last modified: 2023/08/22 11:40
  • by ShengYiHong