* Remove usage of rz_core_cmd_strf
* Expose APIs for rz-solver
* Fix mismatched fn annotation
* Add compound OP for rz-solver
* Add new APIs for compound OPs
* Add new testcases for compound op
* Fix testcases for rop constraint
* Make rz_buf_read consistent.
The IO buffer did not updated its seek after reading. Although most of the others do.
The behavior is now documented.
* Partially reverse seek on read for IO_FD and FILE buffers. Because it breaks too many tests.
* Add type when initializing RzBuffer.
* Remove duplicate documentation of RzBuffer read()
* Update XAP code to a proper level of decency
* Added test for xap and a bit more refactoring.
* Removed old code
* Updated copyright
* Remove unnecessary includes
* Check for jumps to preludes by default and follow tail calls.
* Fix test.exe tests. They were text book tail calls.
┌ root.0040103b();
│ 0x0040103b cmp ecx, dword [0x40d004]
│ ┌─< 0x00401041 jne 0x401045
│ │ 0x00401043 repz ret
└ ┌└─> 0x00401045 jmp root.00401335
* Add a tail call test for x86
* Document rz_analysis_op_is_eob
* Attempt to remove seemingly irrelevant code.
* Make code more consice.
* Fix and simplify checks for op.type
* OR the TAIL property into the op.type if applicable.
* Fix test: Blocks were incorrectly assigned to function at 0x401000.
* Fix test: Function doesn't access a var at stack - 0x60
* Fix test: The match_suffix() doesn't have a saved prelude.
* Fix test: New name is the actual symbol name.
* Fix tests: Main functions get indeed called via a tail call.
* Fix test: Accept less string found to not increase analysis depth.
Because tail jumps are now correctly marked as end of a function,
they are not always followed deeper with the default analysis depth of 1.
Hence, less strings are found.
* Revert removal of options bound to version.
* Fix tests because they were wrong:
rz_analysis_op_is_eob() did not applied the mask onto op.type,
so it checked against the wrong flags (especially for conditional jumps).
Because the eob check was faulty the execution flow was different.
* Add tail call test for AArch64
For cases when we need to directly use arguments of a variadic function
to add a new row to `RzTable`, the new `rz_table_add_vrowf` will take a
`va_list` and a format string to do the same.