[Lldb-commits] [lldb] [lldb] Remove SymbolFilePDB and make the native one the default (PR #113647)

Martin Storsjö via lldb-commits lldb-commits at lists.llvm.org
Fri Oct 25 00:38:19 PDT 2024


mstorsjo wrote:

> Remove `SymbolFilePDB` in favor of always using `SymbolFileNativePDB`. This effectively makes `LLDB_USE_NATIVE_PDB_READER` the default. The non-native (DIA based) PDB symbol file implementation was unmaintained and known to have issues.

While this certainly is true, unfortunately the main working testing configuration of LLDB on Windows is with the DIA SDK enabled.

In that form, I can run `check-lldb` without any failures. By disabling use of the DIA SDK, I have the following test fallout:
```
Failed Tests (15):
  lldb-shell :: Driver/TestSingleQuote.test
  lldb-shell :: Expr/nodefaultlib.cpp
  lldb-shell :: SymbolFile/DWARF/dwo-static-data-member-access.test
  lldb-shell :: SymbolFile/PDB/ast-restore.test
  lldb-shell :: SymbolFile/PDB/calling-conventions-x86.test
  lldb-shell :: SymbolFile/PDB/class-layout.test
  lldb-shell :: SymbolFile/PDB/enums-layout.test
  lldb-shell :: SymbolFile/PDB/expressions.test
  lldb-shell :: SymbolFile/PDB/func-symbols.test
  lldb-shell :: SymbolFile/PDB/pointers.test
  lldb-shell :: SymbolFile/PDB/type-quals.test
  lldb-shell :: SymbolFile/PDB/typedefs.test
  lldb-shell :: SymbolFile/PDB/udt-layout.test
  lldb-shell :: SymbolFile/PDB/variables.test
  lldb-shell :: Unwind/windows-unaligned-x86_64.test

********************
Unexpectedly Passed Tests (1):
  lldb-shell :: Commands/command-disassemble-mixed.c
```

With this PR in place, we get even more failures:
```
Failed Tests (72):
  lldb-shell :: Breakpoint/case-insensitive.test
  lldb-shell :: Breakpoint/dummy-target.test
  lldb-shell :: Commands/command-disassemble-mixed.test
  lldb-shell :: Commands/command-process-launch-user-entry.test
  lldb-shell :: Commands/command-thread-backtrace.test
  lldb-shell :: Commands/command-thread-select.test
  lldb-shell :: Driver/TestSingleQuote.test
  lldb-shell :: Expr/TestIRMemoryMapWindows.test
  lldb-shell :: Expr/nodefaultlib.cpp
  lldb-shell :: Process/Windows/process_load.cpp
  lldb-shell :: Settings/TestFrameFormatColor.test
  lldb-shell :: Settings/TestFrameFormatNoColor.test
  lldb-shell :: Settings/TestLineMarkerColor.test
  lldb-shell :: SymbolFile/DWARF/dwo-debug-file-search-paths-dwoname-absolute-compdir.c
  lldb-shell :: SymbolFile/DWARF/dwo-debug-file-search-paths-filename-only-absolute-compdir.c
  lldb-shell :: SymbolFile/DWARF/dwo-debug-file-search-paths-filename-only-relative-compdir.c
  lldb-shell :: SymbolFile/DWARF/dwo-debug-file-search-paths-relative-compdir.c
  lldb-shell :: SymbolFile/DWARF/dwo-relative-filename-only-binary-dir.c
  lldb-shell :: SymbolFile/DWARF/dwo-static-data-member-access.test
  lldb-shell :: SymbolFile/NativePDB/ast-functions-msvc.cpp
  lldb-shell :: SymbolFile/NativePDB/ast-functions.cpp
  lldb-shell :: SymbolFile/NativePDB/ast-methods.cpp
  lldb-shell :: SymbolFile/NativePDB/ast-restore.test
  lldb-shell :: SymbolFile/NativePDB/ast-types.cpp
  lldb-shell :: SymbolFile/NativePDB/bitfields.cpp
  lldb-shell :: SymbolFile/NativePDB/blocks.s
  lldb-shell :: SymbolFile/NativePDB/break-by-function.cpp
  lldb-shell :: SymbolFile/NativePDB/break-by-line.cpp
  lldb-shell :: SymbolFile/NativePDB/calling-conventions-x86.test
  lldb-shell :: SymbolFile/NativePDB/class-layout.test
  lldb-shell :: SymbolFile/NativePDB/class_layout.cpp
  lldb-shell :: SymbolFile/NativePDB/compilands.test
  lldb-shell :: SymbolFile/NativePDB/disassembly.cpp
  lldb-shell :: SymbolFile/NativePDB/enums-layout.test
  lldb-shell :: SymbolFile/NativePDB/expressions.test
  lldb-shell :: SymbolFile/NativePDB/find-functions.cpp
  lldb-shell :: SymbolFile/NativePDB/func-symbols.test
  lldb-shell :: SymbolFile/NativePDB/function-level-linking.test
  lldb-shell :: SymbolFile/NativePDB/function-types-builtins.cpp
  lldb-shell :: SymbolFile/NativePDB/function-types-calling-conv.cpp
  lldb-shell :: SymbolFile/NativePDB/function-types-classes.cpp
  lldb-shell :: SymbolFile/NativePDB/global-classes.cpp
  lldb-shell :: SymbolFile/NativePDB/global-ctor-dtor.cpp
  lldb-shell :: SymbolFile/NativePDB/globals-bss.cpp
  lldb-shell :: SymbolFile/NativePDB/globals-fundamental.cpp
  lldb-shell :: SymbolFile/NativePDB/icf.cpp
  lldb-shell :: SymbolFile/NativePDB/incomplete-tag-type.cpp
  lldb-shell :: SymbolFile/NativePDB/inline_sites.test
  lldb-shell :: SymbolFile/NativePDB/inline_sites_live.cpp
  lldb-shell :: SymbolFile/NativePDB/load-pdb.cpp
  lldb-shell :: SymbolFile/NativePDB/local-variables-registers.s
  lldb-shell :: SymbolFile/NativePDB/local-variables.cpp
  lldb-shell :: SymbolFile/NativePDB/locate-pdb.cpp
  lldb-shell :: SymbolFile/NativePDB/lookup-by-address.cpp
  lldb-shell :: SymbolFile/NativePDB/lookup-by-types.cpp
  lldb-shell :: SymbolFile/NativePDB/missing-type.s
  lldb-shell :: SymbolFile/NativePDB/nested-blocks-same-address.s
  lldb-shell :: SymbolFile/NativePDB/nested-types.cpp
  lldb-shell :: SymbolFile/NativePDB/pointers.test
  lldb-shell :: SymbolFile/NativePDB/s_constant.cpp
  lldb-shell :: SymbolFile/NativePDB/source-list.cpp
  lldb-shell :: SymbolFile/NativePDB/stack_unwinding01.cpp
  lldb-shell :: SymbolFile/NativePDB/tag-types.cpp
  lldb-shell :: SymbolFile/NativePDB/type-quals.test
  lldb-shell :: SymbolFile/NativePDB/typedefs.cpp
  lldb-shell :: SymbolFile/NativePDB/typedefs.test
  lldb-shell :: SymbolFile/NativePDB/udt-layout.test
  lldb-shell :: SymbolFile/NativePDB/variables-locations.test
  lldb-shell :: SymbolFile/NativePDB/variables.test
  lldb-shell :: SymbolFile/NativePDB/vbases.test
  lldb-shell :: Unwind/windows-unaligned-x86_64.test
  lldb-shell :: Watchpoint/SetErrorCases.test
```

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


More information about the lldb-commits mailing list