RzAnalysisILVM wraps around the low-level RzILVM and enables emulation
of real code from disassembly, rather than raw IL.
Analysis plugins now don't actively initialize the vm anymore, but
return a fully declarative description RzAnalysisILConfig of how to set
up the vm and optionally its initial state.
This also enables multiple IL vms to exist at the same time as plugins
can not mess with the global vm anymore. See the added integration test
for an example.
* Add integration test and a fix Coverity scan issue
* Return `NULL` if `target->platforms` is `NULL` in
`rz_arch_platform_target_new`
* Move the call of the API which adds the flags/comments for both
CPU and platform profiles inside `rz_core_analysis_all()`.
* Use `rz_file_is_directory` instead of `rz_file_exists` for the
integration tests
* Use `RZ_SYS_DIR` on the path while checking for `.tmp` folder
* Add a comma at the end of the list on \`meson.build\`
* Use rz_file_is_directory to check if the directory .tmp already exists
* Update test/integration/test_open_analyse_save_load_project.c
Co-authored-by: Giovanni <561184+wargio@users.noreply.github.com>