Replace panics with error returns
so that malformed input doesn't make protodump panic
Account for (void) argument lists
Handle DW_AT_class_type
the same way as DW_AT_structure_type
Handle enumerations that don't have DW_AT_encoding
e.g. rust's std::cmp::Ordering
... and fetch the encoding from the underlying type, if it's a base
type.
Handling underlying types that are not base type is TODO (?), yet to be
found in the wild.
Better type handling
- Parse types into proper structs
- Parse type definitions
- Handle anonymous functions
- Handle subroutine parameters
Make prototypes names bold
Instead of making the types bold, make the prototype names bold.
This makes it easier to tell the names apart.
Properly iterate through debug entries
1/ Filter entries that have the DW_AT_declaration attribute set to true
(this attribute means they are incomplete, e.g. parameter names are
missing),
2/ Use next_dfs+next_sibling instead of next_entry, mostly for a
clarity.
Allow parameters to have no name
diff mode: don't print any error message
man page: add an entry for the diff mode
Merge goblin and object usage
since both do the same thing
Update README.md and add a man page
Do not group by files by default
Add options to show local, global and imported symbols