[all-commits] [llvm/llvm-project] 44fefe: [LLDB][NativePDB] Estimate symbol sizes (#165727)

nerix via All-commits all-commits at lists.llvm.org
Fri Oct 31 02:33:59 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 44fefe70e41a3b8e68545f45798740f74f4231cd
      https://github.com/llvm/llvm-project/commit/44fefe70e41a3b8e68545f45798740f74f4231cd
  Author: nerix <nerixdev at outlook.de>
  Date:   2025-10-31 (Fri, 31 Oct 2025)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
    M lldb/test/API/functionalities/multiple-slides/TestMultipleSlides.py
    M lldb/test/Shell/SymbolFile/NativePDB/symtab.cpp

  Log Message:
  -----------
  [LLDB][NativePDB] Estimate symbol sizes (#165727)

In #165604, a test was skipped on Windows, because the native PDB plugin
didn't set sizes on symbols. While the test isn't compiled with debug
info, it's linked with `-gdwarf`, causing a PDB to be created on
Windows. This PDB will only contain the public symbols (written by the
linker) and section information. The symbols themselves don't have a
size, however the DIA SDK sets a size for them.
It seems like, for these data symbols, the size given from DIA is the
distance to the next symbol (or the section end).

This PR implements the naive approach for the native plugin. The main
difference is in function/code symbols. There, DIA searches for a
corresponding `S_GPROC32` which have a "code size" that is sometimes
slightly smaller than the difference to the next symbol.



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