* Fix regression showing threads `rip` for `dpt` on Windows
* Improve `dpt` output
* Consider flags too when printing thread address
* Improve `RzCoreBind->getNameDelta` to use realname if `flags->realnames` is true
* Fix negative offsets
* Fix flagspace selection side-effects after calling `rz_core_bin_apply()` APIs
* Fix wrong register profile after attaching to a process with `dpa`
* Fix wrong base address when opening a process memory
* Fix wrong register profile after opening a process memory
* Implement `rz_debug_reg_profile_sync()`
* Fix diff tests
* Remove doubled `rz_reg_set_profile_string()` call in `rz_debug_use()`
* Remove `RzDebug->user` and use `RzDebug->plugin_data` instead
* Fix crashes when switching between `native` and `windbg` debug plugins
* Fixed Leak in types code
* Fixed leak on `rz_cons_grep` in newshell
* Avoid flushing when cons is not used.
* Fixed memory leak in `rz_analysis_free`
* file_hashes is not used.
* `rz_bin_file_set_hashes` needs to be freed
* More timeout
* Remove useless error message and optimize compare.
* Avoid useless calls when data is already known.
* Fixed test
* Calculate div based on min/max
* Ignore RzAnalysisFunction that are not FCN or SYM
* Simplified gdiff
- Removed oldshell version of `t` (types) commands
- Removed `tk` command because types storage switched to the hashtable
- Added `tfc` command to show the calling convention of the function or set it
- Added `tsl` (RZ_OUTPUT_MODE_LONG) to show structure members' sizes and offsets
- Added `tul` (RZ_OUTPUT_MODE_LONG) to show union members' sizes
- Switched the types storage to the hashtable instead of SDB
- Added load and export from/to SDB for standard type libraries and serialization for Projects
- Changed all `char *type` occurences to the proper `RzType`
- Added `RzCallable` type for the function/class method types
- Changed all function types API to use the `RzCallable` API
- Switched the function types (`RzCallable`) storage to the hashtable instead of SDB
- Added a connection between `RzAnalysisFunction` and `RzCallable` - `rz_analysis_function_derive_type()` API function to derive new `RzCallable` type from the `RzAnalysisFunction` even if it doesn't exist in the RzTypeDB.
- Moved type links to the RzAnalysis where they belong
- Removed TCC and MPC-based parsers
- Added Tree-Sitter-based parser for C grammar (see `librz/type/parser/*`)
- Reworked type databases in `librz/analysis/d/` to be consistent with C standard, libc, platform-specific definitions
- Switched the type links from `char *` to `RzType`
- Switched the type links from SDB to the hashtable
- Added concept of the "type paths", e.g. `a.b[20].c` where `b` is a member of `a` (`a` is either structure or a union) and `c` is a member of `b`, and `b` is an array where we take 20-th element.
- Added concept of the typeclasses (a bit similar to Haskell) for numerical types: `None` (the most generic one), `Num` (includes `Integral` and `Floating`), `Integral` (includes `Signed Integral` and `Unsigned Integral`), `Floating`.
- Added concept of type equality (`rz_types_equal(a, b)` API function)
- Added Doxygen documentation to every API function in the `librz/type/*`.
- Updated the project format from **V2** to **V3**, added migration.
* Fix some handle leaks
* Fix some memory leaks
* Re-use handles if possible
* Avoid allocations inside loops in `w32_desc_list()`
* Use debug plugin functions instead of reimplementing logic in io_debug.c and io_w32dbg.c to maintain state consistency
* Remove unneeded code
* Rename some functions
* Add a new function to get tcache content
* Refactor to use the new tcache function
* Expose API for cutter
* Bug fix
* Fix mem leaks
* Use goto to reduce code
* Add API for writing a chunk
* Bug fix
* Minor changes
* Fixes#1088
* Fix tcache not working properly for 32 bit binaries
* Remove 32 bit members from malloc state struct, just use 64 bit members in all cases
* Added documentation
* Should fix clang cl warning
* Check if tcache was read successfully
* Remove debug string
Co-authored-by: Anton Kochkov <anton.kochkov@gmail.com>
Co-authored-by: yossizap <yossizap@gmail.com>
* Use resource packing and fix the broken integration test for CPU profiles
* Use `sizeof` to calculate size and run `clang-format`
* Use `rz_file_temp` to create a temporary SDB file rather than manually naming it