* Support for .zdebug_*
* Simplify macro.inc
* Fix ranges and loc, because it was using the wrong bigendian.
* - DW_TAG_ptr_to_member_type as Ptr type
- DW_TAG_unspecified_type as base type
* Fix union in struct
Functions like MEM_read32 could still perform unaligned accesses on
OpenBSD/sparc64 with gcc, possibly related to gcc bug 51628. The
solution is to switch to a safe memcpy-based solution and let the
compiler do any optimizations.
Referencing unit during its own initial assignment made it contain
garbage, at least on OpenBSD/sparc64.
The added null check avoids null derefs in case the binary itself
contains garbage for the aforementioned value.
* Fix memleak in rz_seek_history_list_handler()
* Fix memleaks in rz_eval_getset_handler()
* Fix memleaks in visual_comma()
* Fix memleak in cmd_pxr()
* Fix memleak in arged_stmt
* Test whether there is error on `rizin -d`
* Make env more like local env
* Add space btw `env` and its arg
* rz-run resolve_value: Pass single-quoted strings unaltered
* Update the golang analysis tests to seek to the main function before
dumping strings, which was previously done as a side effect of using
`@@f` during auto-analysis.
* Add tests for pointer write command `*`
Some test cases override `asm.arch` for bitness compatibility reasons.
* Refactor pointer write command `*` to use the API
* Allow use of more general exprs as value for pointer write command `*` ##shell
* Instead of detecting when to write a value, and write a hexpair
otherwise, do the inverse: detect when to write a hexpair, and write a
value otherwise. This allows more general value exprs such as
variables, derefs, ...
* To enable this, add an option to `rz_hex_str_is_valid` so it can
reject a 0x-prefixed string (because 0x-prefixed strings should be
handled as values, not hexpairs, by the pointer write command)
* Add a test case to ensure a non-0x-prefixed value arg, that's not a
valid hexpair, now gets eval'ed as an expr by the pointer write
command (where previously it would throw an error)
* Add test for pointer read command `*`
Test for `asm.bits=8` uses `asm.arch=6502` because `asm.bits=8` is
unsupported for the default arch.
* Fix pointer command `*` broken since move from `?` to `%` ##shell
* Refactor to use appropriate existing API in `num_callback`
- `RZ_PROJECT_VERSION` 14
- Add `RzCallable`.has_unspecified_parameters
- Add `RzAnalysis`.debug_info
- Add `RzAnalysisVarStorageType` composite and `eval` `pending`
- Support for parse DWARF section "debug_loclists", "debug_ranges", "debug_rnglists"
- Partial support for eval DWARF expr_loc
- Support for anonymous Type, function variable, struct member
- Cache all DWARF information in `RzAnalysisDebugInfo` and remove `SDB` based caching.
- Add arm32, arm64, TriCore DWARF register name
- Fix same name basetype
'rizin' is missing a lot of syscalls for i.e. arm. We can check that
with:
rizin -a x86_64 -b 64 -k linux -q -c asl
vs
rizin -a arm -b 64 -k linux -q -c asl
'rz_syscall_item_new_from_string' splits the incoming string by commas
and expects at least 3 items as a result. This patch fixes
syscall preprocessing by appending empty strings to match the expected
number of items after a split.
This is a clone of a fix posted to radare2 [1].
[1] https://github.com/radareorg/radare2/pull/21508
+ Switch the member imports in RzBinPlugin from RzList to RzPVector
+ Also switch the member imports in RzBinObject from RzList to RzPVector to meet the refactor of RzBinPlugin
+ Modify the traverse and invocation related to the aforementioned changes
+ Remove the deprecated API rz_bin_get_imports
* Fix memleak in rz_il_handler_empty()
* Fix memleak in compare_op()
* Fix memleak in assign_reg()
* Fix memleak in rz_asm_op_fini()
* Fix memleak in rz_core_analysis_bytes()
* Fix memleak in add_sub_op()
* Fix memleak in bitwise_op()
* Fix memleak in shift_and_rotate()
Apple Clang 4.2 on Mac OS X 10.7 Lion does support avx2, but it has
issues with some of the asm syntax used, in particular jc and some mov
syntax.
So we add an additional check for a short assembly snippet.