cle icon indicating copy to clipboard operation
cle copied to clipboard

Add support for more types of DWARF data

Open calebh opened this issue 3 months ago • 0 comments

This pull request enhances CLE's capabilities to load DWARF information, particularly for Rust binaries. There will be a corresponding pull request in angr to take advantage of these changes to CLE. The current purpose of this pull request is to gather feedback on architecture/design. Note that the CLE side here is a bit more well tested than the angr side.

Summary of changes:

  • Adds EnumerationType, SubroutineType, SubprogramType, ConstType, VariantType as subclasses of VariableType. Adds functions to load these classes from DWARF information.
  • Adds logic to grab the namespace and alignment information of the various types from DWARF.
  • Encoding is grabbed for BaseType from DWARF information if available.
  • TODO: There was already a class called Subprogram, which inherited from LexicalBlock. Figure out if SubprogramType should remain separate from this class.

See also: https://github.com/angr/angr/pull/5857

calebh avatar Dec 01 '25 21:12 calebh