Skip to content

Commit

Permalink
DWARF improve DWARF5 support and refactor
Browse files Browse the repository at this point in the history
- `RZ_PROJECT_VERSION` 14
- Add `RzCallable`.has_unspecified_parameters
- Add `RzAnalysis`.debug_info
- Add `RzAnalysisVarStorageType` composite and `eval` `pending`
- Support for parse DWARF section "debug_loclists", "debug_ranges", "debug_rnglists"
- Partial support for eval DWARF expr_loc
- Support for anonymous Type, function variable, struct member
- Cache all DWARF information in `RzAnalysisDebugInfo` and remove `SDB` based caching.
- Add arm32, arm64, TriCore DWARF register name
- Fix same name basetype
  • Loading branch information
imbillow committed Aug 25, 2023
1 parent dacb8d0 commit 6598c44
Show file tree
Hide file tree
Showing 63 changed files with 13,775 additions and 7,267 deletions.
4 changes: 4 additions & 0 deletions .reuse/dep5
Original file line number Diff line number Diff line change
Expand Up @@ -223,3 +223,7 @@ License: LGPL-3.0-only
Files: .prettierignore
Copyright: 2020 RizinOrg <info@rizin.re>
License: LGPL-3.0-only

Files: test/prj/*.rzdb test/prj/*.rzdb.gz
Copyright: 2020 RizinOrg <info@rizin.re>
License: LGPL-3.0-only
2 changes: 2 additions & 0 deletions librz/analysis/analysis.c
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,7 @@ RZ_API RzAnalysis *rz_analysis_new(void) {
analysis->global_var_tree = NULL;
analysis->il_vm = NULL;
analysis->hash = rz_hash_new();
analysis->debug_info = rz_analysis_debug_info_new();
return analysis;
}

Expand Down Expand Up @@ -168,6 +169,7 @@ RZ_API RzAnalysis *rz_analysis_free(RzAnalysis *a) {
rz_str_constpool_fini(&a->constpool);
ht_pp_free(a->ht_global_var);
rz_list_free(a->plugins);
rz_analysis_debug_info_free(a->debug_info);
free(a);
return NULL;
}
Expand Down
2 changes: 0 additions & 2 deletions librz/analysis/analysis_private.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,4 @@

#include <rz_analysis.h>

RZ_IPI RZ_BORROW RzAnalysisVar *rz_analysis_function_add_var_dwarf(RzAnalysisFunction *fcn, RZ_OWN RzAnalysisVar *var, int size);

#endif // RZ_ANALYSIS_PRIVATE_H
Loading

0 comments on commit 6598c44

Please sign in to comment.