[Lldb-commits] [lldb] [lldb] Update the String table offset based on the DWARF format (PR #147054)

David Spickett via lldb-commits lldb-commits at lists.llvm.org
Fri Jul 4 08:06:52 PDT 2025


DavidSpickett wrote:

DWARF64, with this PR branch:
```
Total Discovered Tests: 33363
  Skipped          :     1 (0.00%)
  Unsupported      :   518 (1.55%)
  Passed           : 32716 (98.06%)
  Expectedly Failed:    31 (0.09%)
  Unresolved       :     3 (0.01%)
  Failed           :    94 (0.28%)
```
And I did not need to kill any tests.

So thats...  433 fewer tests failing and 9 fewer tests unresolved, +443 passes.

A common error message I see is:
```
error: a.out Failed to extract range list table at offset 0x0000000000000014: .debug_rnglists table at offset 0x8 has too small length (0x4) to contain a complete header
```
And by searching that error message I found:
```
const std::optional<llvm::DWARFDebugRnglistTable> &
DWARFUnit::GetRnglistTable() {
  if (GetVersion() >= 5 && !m_rnglist_table_done) {
    m_rnglist_table_done = true;
    if (auto table_or_error =
            ParseListTableHeader<llvm::DWARFDebugRnglistTable>(
                GetRnglistData().GetAsLLVMDWARF(), m_ranges_base, DWARF32))
      m_rnglist_table = std::move(table_or_error.get());
    else
      GetSymbolFileDWARF().GetObjectFile()->GetModule()->ReportError(
          "Failed to extract range list table at offset {0:x16}: {1}",
          m_ranges_base, toString(table_or_error.takeError()).c_str());
  }
  return m_rnglist_table;
}
```
So this is your next thing to fix :)

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


More information about the lldb-commits mailing list