* Do not directly use flags->flags, but use r_flags_foreach functions
* Remove list of flags because unnecessary
* Do not free flagitem when we just need to change the name(aka key)
* Use skiplist to iterate, so we get order for free
* Use RIOMap instead of RIOSection which is being killed
* Free flagitems when ht is freed
There's already the hashtable that can serve to iterate all flagitems.
* Use RBinSection, RDebugMap or RIOMap instead
* Remove omps command
* Fix segfault in ?E+
* Improve anal.eobjmp (bug spotted after almost killing iosections)
* anal: arm: emulate correctly BX PC in arm32/thumb ##anal
* anal: arm: handle BX PC in analysis to propagate bits
PC is well known without ESIL, that way it is possible to propagate the
bits to correctly create the hints
* anal: arm: modify r_anal_build_range_on_hints ##anal
This function now accepts a second parameter that specify when to
dispose hints when overlapping.
The rationale is that if this is performed in a continuos basis, old
ranges are lost when in a latter stage in the analysis is inserted a new
hint.
For example, if we have something like
0x80000 -> 16 bits
0x82000 -> 16 bits
With the previous logic this would have been become
0x8000 -> 16 bits
However, during analysis a new hint like this might happen
0x8100 -> 32 bits
Therefore, 0x8200 which was 16 bits is lost. With the second parameter
update, we postpone this until the user print the disassembly - we wait
until the end to clean up hints to speed up the looks up. However,
during analysis we mantain all the hints.
* anal: arm: handle better anal hints to increase performance ##anal
new API r_anal_hint_get_bits_at
This saves time for example on r_anal_build_range_on_hints without the
need to use heap for RAnalHints speeding up the analysis
Added cb when calling r_anal_hint_set_bits and rbtree for anal ranges
which improves lookups
fix __anal_range_tree_find_bits_at
fix conflicts and coding style
* arm: set anal hint when BL instruction