radare2 icon indicating copy to clipboard operation
radare2 copied to clipboard

make mcall and rcall be a subsets of ucall

Open b10s opened this issue 2 years ago • 1 comments

Environment

$ date
Mon Aug 22 22:27:25 JST 2022

$ r2 -v
radare2 5.7.7 29397 @ linux-x86-64 git.5.7.6-160-gf9f9e367de
commit: f9f9e367de2c5e2ad252d10a21575bf949a3937d build: 2022-08-22__22:20:13

$ uname -ms
Linux x86_64

Description

mcall - memroy calls rcall - register calls ucall - unknown calls

the /at mcall, /at rcall outputs must be subsets of /at ucall output but it is not

Test

$ r2 /bin/ls
[0x00005850]> /at mcall | wc -l
0
[0x00005850]> /at rcall | wc -l
33
[0x00005850]> /at ucall | wc -l
25

0 + 33 != 25

Additionally rcall is not in the list of instruction types:

| /atl list all the instruction types (RAnalOp.Type):

[0x00005850]> /atl ~call
call
ucall

b10s avatar Aug 22 '22 13:08 b10s

mcall doesn't exist.

we use ucall for memory calls, and rcall for register calls. historically register calls were treated as ucalls, but this is no longer the case

condret avatar Sep 02 '22 19:09 condret