* Remove macros checking for CS_API_VERSION 3
* Remove CS 3 from meson_options and subprojects.
* Remove Capstone v3 from CI
* Remove CS_API_VERSION >= 4 checks since always true from now on.
* Add CSv5 workflow to CI.
* Handle ARM pre v6 build errors.
* Fix PPC build errors for CS < v6
* Fix correct macro name
* Remove wrong include.
* Fix fallthrough warning
* Fix getter macros for WB and post-fix flags.
* Fix faulty macro name
* Check for all float extensions for vabs.
* Add return to assert cases.
* Update cs to 46154e8605aaefdcca5fecf4ea88b92db5a40ad3
* Remove cs3 wrap file.
---------
Co-authored-by: wargio <wargio@libero.it>
* Do not use designater array initializer because MSVC complains
* Add new Appveyor CI test for including C headers from C++ files
* Need to test whether Rizin headers can be included in C++ when
using MSVC, needed for Cutter to build successfully
* Changed the name of `build-cpp` CI job in GitHUb jobs to
`build-cpp-linux` to make it obvious that it only performs the
test for Linux
Before this patch only the vs2019_static Windows build was compiled in
portable mode, however the Windows installer that is part of the release
is based on the clang_cl build. That meant a user installing Rizin on
Windows would get wrong paths when doing `rizin -H`, as those paths
would reference the CI user paths.
Adds /*<type>*/ comments and a linter check from rz-bindgen to enforce
their existence and consistency
Also includes the following fixes made when adding the annotations:
* removed unused intern_table arguments in pyc_dis.c, pyc_dis.h, asm_pyc.c
* removed unused classes argument from place_nodes in agraph.c
* removed unused recurse and recurse_bb functions in canalysis.c
* removed unused vars field from RzPrint struct
* removed unused RzAnalysisType* structs from rz_analysis.h
* removed unused list field from RzEgg struct
* fixed bug in bp_plugin.c where duplication-checking logic iterates over the wrong list
* removed unused q_regs field from RzDebug struct
* removed unused backtrace field from RzDebugPlugin struct
* removed unused classes_list field from RzBinNXOObj struct
* removed unused methods_list and classes_list fields from RzBinZimgObj struct
As due to https://github.com/mesonbuild/meson/issues/9702 we are not
using the expansion of @PACKAGE_INIT@ anyway, the cmake module provides
little additional value over a plain configure_file().
More importantly, by not using it, we get full support for muon, which
does not implement the cmake module yet.
* CI: install sigdb in static version of rizin
* RzCore: use bool2status whenever possible
* RzCore: add flirt.sigdb.load vars to select which signatures to load
* test: adjust testing to not consider system/home flirt db
* sign: use a RzSigDb structure instead of a raw list to store signatures
* sign: switch RzSigDb to use a hashtable and avoid duplicates
* Move binrz meson directives to binrz/ dir
* Move rizin-shell-parser to a subproject
* Move bochs to a meson subproject
* Move rzqnx to meson subproject
* Move winkd to a meson subproject
* Move rzar to a meson subproject
* Move rzw32dbg_wrap to a meson subproject
* Move ptrace-wrap to a meson subproject
* Move rzgdb to a meson subproject
* Rename w32dbg_wrap to rzw32dbg_wrap
* Update CODEOWNERS
* Remove old references to shlr
* Move shlr/heap stuff in core and remove shlr/arm
* Move spp to a meson subproject
* Remove last references to shlr
* Remove use_webui option
* Move include files directives to librz/include/meson.build
* Move librz meson directives into librz/meson.build
* Handle d/ directories inside the specific module meson.build
* Move plugins listing to specific module meson.build
* Move rzheap to its own subproject
* Fix js linter and licenses
* Use meson.override_dependency for all rz_ modules
* Remove wrong librz.pc.in file
* Add plugindir variable to .pc files to allow easy plugin configuration
* Add CMake config files to find Rizin in CMake projects
* Add CI jobs to check cmake files
* Provide workaround for mesonbuild/meson#9702
* Use .lib suffix and no prefix on MSVC to make CMake files work
* Disable cmake files on static libraries build
The new intermediate language is based on the BAP (Binary Analysis Platform) Core Theory.
It operates on SMT-like bitvectors and their arrays to represent values and memory.
Apart from that, it has also representation for the data and code side effects.