Commit Graph

293 Commits

Author SHA1 Message Date
pancake
c006c10f7b
Update arch from Config while finding best matches ##arch 2023-08-01 20:58:25 +02:00
pancake
7a2b40a9fd Fix #22107 - VA breaking the disassembler after picking an assembler 2023-07-27 17:41:38 +02:00
pancake
a79635cbbc Initialize xtensa_default_isa to fix clang's linker bug ##build 2023-07-19 17:59:49 +02:00
pancake
41b7c9a37f Define more op.type for pyc ##arch 2023-07-17 23:37:07 +02:00
pancake
f6b908c247 Fix #22061 - Add 'auipc' instruction for the RV64 assembler ##arch 2023-07-17 02:47:44 +02:00
pancake
2e6a61ec1f Honor codealign, speedup syscall search emulation ##analysis
* Also enforce 'aei' before syscall search because core->anal->esil cant be nul
2023-07-10 14:43:49 +02:00
pancake
4627065fa3 Properly define the conditional software interrupts ##arch 2023-07-10 14:43:49 +02:00
aemmitt-ns
7832d2e895
Fix x86 XOR ESIL for 64bit registers ##esil
* get64from32 should return NULL if not 32bit
2023-07-08 19:23:15 +02:00
aemmitt-ns
f0815476aa
Fix #22029 ESIL for REP[Z] RET ##esil
* dont change ESIL for REP[Z] [BRANCH INSTR]
* only exclude RET type from REP ESIL
* use ignore mask without low bit so it doesnt match MOV
* don't use mask, it doesn't make sense for op_type
2023-07-08 19:21:51 +02:00
pancake
e8dfc16128 Improve SPARC control flow and code coverage ##arch 2023-07-07 13:09:45 +02:00
pancake
a1d103ce59 Fix bad esil on arm32 shift-reg instruction ##arch
* ESIL shifts by register ID not by register value #3643
* Reported by Rot127 in https://github.com/rizinorg/rizin/issues/3643 based on:
- a9e1eaface
- 27ff2758e7
2023-07-07 12:45:28 +02:00
pancake
ed4b25b89b
Handle xrefs from vector instructions on x86 ##arch 2023-07-03 12:14:08 +02:00
pancake
b3469bb6cf Migrate the LAST and final boss X86 plugin ##arch
* anal.cc tests are the only tests marked as broken
* Bonus points: minor code cleanup here and there
* Thanks to Luc for all the work and chats to make it happen
2023-06-29 23:46:48 +02:00
pancake
64e443156f Unsigned capstone init option only for x86 ##arch 2023-06-29 23:46:48 +02:00
pancake
59944c7293 Improve plugin resolution ##arch 2023-06-29 23:46:48 +02:00
pancake
ffd9855e80 Fix left shift of negative value in the arm assembler 2023-06-29 14:28:20 +02:00
neo-one0873
2260ef1a4a fix: null pointer dereference
[op] is null dereferenced here
2023-06-28 09:50:22 +02:00
pancake
1016090198
Harmless code cleanups and minor improvements here and there 2023-06-27 19:47:14 +02:00
Luc Tielen
1a23c5936a Remove global state in arch plugins 2023-06-27 17:21:15 +02:00
Luc Tielen
a40d2e8006 Fix removing core plugins from Lc after L- ##core 2023-06-27 11:45:23 +02:00
pancake
a6edeac3d4 Add more function preludes for arm32 ##analysis 2023-06-26 20:08:29 +02:00
pancake
a97f781076 Fix sparc.{cs|gnu} endian behaviour and add tests ##arch 2023-06-21 21:20:10 +02:00
pancake
c6a6fbd37b s390 b instruction in an UJMP because it depends on a reg ##arch 2023-06-21 21:20:10 +02:00
pancake
b1c1219886 Mark java tests as broken until the arch refactor is done ##arch 2023-06-21 21:20:10 +02:00
Luc Tielen
ee4f62d306 Make all arch plugins const (better perf) ##arch 2023-06-20 19:34:54 +02:00
Luc Tielen
0781618280 Remove global state from arm gnu plugin ##arch 2023-06-20 19:34:54 +02:00
Luc Tielen
43accf3f21 Removed deprecated variable for gb plugin ##arch 2023-06-20 19:34:54 +02:00
Luc Tielen
02ac6cccb2 Rename r_str_next_split -> r_str_tok_next; make public ##abi 2023-06-20 19:34:54 +02:00
pancake
878fb589ab Fix some oobreads in the java and dalvik disassemblers 2023-06-17 19:04:09 +02:00
pancake
5700924211 Add missing arch.arm.cs files for the meson 2023-06-17 13:31:57 +02:00
Luc Tielen
5fda141d1d Migrate arm_cs plugin ##arch 2023-06-16 22:23:09 +02:00
Luc Tielen
d1ee5c33b5 Migrate dalvik plugin ##arch 2023-06-16 21:10:09 +02:00
pancake
c8c1b11dfb Get rid of two recent ASAN bugs in 6502 and op 2023-06-16 19:23:24 +02:00
Luc Tielen
59dc247eea Migrate 8051 plugin ##arch 2023-06-16 19:09:59 +02:00
pancake
03fcf34b9b Use relative includes instead of assuming libr/arch/include ##build 2023-06-16 16:58:24 +02:00
pancake
50ec7cd364 Migrate libr/asm/arch/include ##arch 2023-06-16 16:58:24 +02:00
pancake
5ad8cf97f2 Migrate the mips.cs plugin ##arch 2023-06-16 13:58:02 +02:00
pancake
02a3d44e6f Fix #21915 - UB in the mips.gnu plugin 2023-06-16 13:45:04 +02:00
pancake
6bb0208c28
Move asm/arch/amd29k/*.c into the arch 2023-06-15 21:00:28 +02:00
Luc Tielen
428d50708d Migrate the AVR plugin ##arch
* Remove leftovers from migrating old plugins
* Wire up esil callback for plugins
* Add workaround for showing registers for AVR
* Put 590 comment to cleanup esil from anal struct
* Make asm depend on crypto also
2023-06-15 16:07:10 +02:00
pancake
62db98578c Fix oobread in arm.gnu 2023-06-15 15:42:57 +02:00
pancake
af8a1a365d
Migrate the arm.gnu plugin ##arch 2023-06-14 19:52:25 +02:00
pancake
f6b4acf809
Migrate the gameboy plugin ##arch 2023-06-14 14:27:10 +02:00
Luc Tielen
86b7f47db9
Remove several R2_590 ifdefs ##abi 2023-06-13 13:38:23 +02:00
pancake
9c8d602b01 Syntax error 2023-06-11 20:00:35 +02:00
Luc Tielen
48bbbba6a4 RArch now depends on REsil ##abi 2023-06-10 09:57:46 +02:00
Luc Tielen
97a7b7b4a3 Use RPluginMeta in RArchPlugin ##abi 2023-06-10 09:57:46 +02:00
pancake
f40ce7e9e6
RAnalValue no longer refs an RRegItem ##analysis
* Highly reduce memory usage, faster analysis and fix some memleaks and uafs
2023-06-09 12:05:43 +02:00
Dennis Goodlett
7042c2908f
Use ut64 for bin bind offsets ##bin
Co-authored-by: Dennis Goodlett <jesupnotdown+git@hurricanelabs.com>
2023-06-08 17:46:08 +02:00
pancake
2990197903 Improve tricore.cs handling jumps/rets/movs/ ##arch
* No esil yet, but at least static analysis starts to work
2023-06-04 09:51:31 +02:00