cle
cle copied to clipboard
Add support for more types of DWARF data
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,VariantTypeas 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 fromLexicalBlock. Figure out ifSubprogramTypeshould remain separate from this class.
See also: https://github.com/angr/angr/pull/5857