llvm-project
0ff0f524 - Fix __apple_XXX iterator that iterates over all entries. (#157538)

Commit
7 days ago
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.
Author
Parents
Loading