* Add rz_list_safe_prev/next macros
* Remove rz_list_iter_get_prev/next() functions
* Use rz_list_safe_prev() macro instead of rz_list_iter_get_prev() function
* Use rz_list_safe_next() macro instead of rz_list_iter_get_next() function
* Remove global vars from librz/arch/p/analysis/analysis_or1k.c
* Remove global from librz/arch/p/analysis/analysis_ppc_cs.c
* Remove global from asm_pyc.c and refactor pyc implementation.
* Add documentation and test for /Rk command
* Implement constraint filtering for /Rk command
- Add constraints field to RzRopSearchContext
- Pass parsed constraints from handler to search context
- Implement match_rop_constraint() and match_constraints() in rop.c
- Filter gadgets based on user constraints in process_disassembly()
- Add tests for /Rk filtering (eax=1, ecx=0, multiple constraints)
* Update test/db/cmd/cmd_rop
* Add an in-place addition of bitvectors.
* Decouple _elem_len from assumption it has just enough bytes to hold len in bits.
* Add in-place copy of bits.
* Use default copy bits bitvector function.
* Mark stack allocated bit vector.
* Add inplace variant of complement_1
* Implement inplace bitvecotr not.
* Add inplace variant of rz_bv_and
* Implement inplace variant of rz_bv_or
* Implement inplace variant of rz_bv_xor
* Constify rz_bv_lsb/msb
* Implement inplace variant of rz_bv_neg
* Fix inplace add. Add inplace SUB
* Remove prefix
* Remove invalid const
* Implement in-place casting of bit vectors.
* Add a hash test
* Fix unnecessary &
* Prevent OOB reads & writes by copying only the minimum of bytes.
* Add inplace MUL
* Add ble version for bitvector set/get with bytes.
* Add documentation for inplace bitvector functions.
* Add bench of add/sub() and sub/add_inplace().
* Remove rz_bv_copy_nbits_inplace because it was the same as rz_bv_copy_nbits.
If a packet was pushed out of the cache, it can be decoded as invalid, although it is valid.
Then it is marked as such according to some heuristic.
But the get_pkt_op parameter was not set in this case, which further down let
the plugin return an EMPTY() effect.
This removes the "unimplemented" error message when encountering this particular relocation type. R_AARCH64_TLSDESC is handled by the dynamic linker; we intentionally do very little to handle it.
Co-authored-by: Jared B <JaredB@invalid.invalid>
* Clarify the ownership of the parameters of the function rz_il_value_new_*
* fixup! Clarify the ownership of the parameters of the function rz_il_value_new_*