[all-commits] [llvm/llvm-project] 0ff0f5: Fix __apple_XXX iterator that iterates over all en...

Greg Clayton via All-commits all-commits at lists.llvm.org
Mon Dec 1 10:57:50 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 0ff0f52460531c0bfa213d0dcfa0cfb4ba61e934
      https://github.com/llvm/llvm-project/commit/0ff0f52460531c0bfa213d0dcfa0cfb4ba61e934
  Author: Greg Clayton <gclayton at fb.com>
  Date:   2025-12-01 (Mon, 01 Dec 2025)

  Changed paths:
    M llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h
    M llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp

  Log Message:
  -----------
  Fix __apple_XXX iterator that iterates over all entries. (#157538)

The previous iterator for __apple_XXX sections was assuming that all
entries in the table would be contiguous and it wasn't using the offsets
table to access each chain of entries for a given name. This patch fixes
it so the iterator does the right thing.

This issue became apparent after a modification to strip template names
from DW_AT_name entries to allow adding both the template class base
name as an entry and also include the name with template names. The
commit hash is 2e7ee4dc21430b0fe4c9ee306dc1d8c7986a6646. The problem is
if the name starts with a "<" it will try and split the name. So if the
name is `"<get-size>"` it will return an empty string as the function
name, and this empty string gets added to the __apple_names table and
causes large delays when using the iterators.



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