[PATCH] DwarfAccelTable: Make Dwarf accelerator table generic.

Frederic Riss friss at apple.com
Sat Mar 14 09:15:10 PDT 2015


Hadn't seen your message, sorry for the delay in replying. It turns out lldb uses different atoms (as produced by dsymutil) than the one we currently hardcode. The only table having additional atoms is the types table. In addition to the DIE offset, LLVM emits:

- DW_ATOM_die_tag = 3u   // A tag entry.
- DW_ATOM_type_flags = 4u // Set of flags for a type.

The type flags are always hardcoded to 0 (I plan to remove this field as it serves no purpose). LLDB on the other hand has these atoms definition:

- eAtomTypeTag        = 3u,   // DW_TAG_xxx value,
- eAtomTypeNameFlags  = 4u,   // Flags from enum NameFlags
- eAtomTypeTypeFlags  = 5u,   // Flags from enum TypeFlags
- eAtomTypeQualNameHash = 6u  // A 32 bit hash of the full qualified name

And it actually doesn't use TypeNameFlags. but it uses the last 2.

I'm wondering if Adrian hasn't planed a new use of an accelerator table that would require yet another variant of atom combinations for his module debugging work.


http://reviews.llvm.org/D8215

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/






More information about the llvm-commits mailing list