mirror of
https://github.com/radareorg/radare2.git
synced 2025-02-03 20:22:38 +00:00
Fix MIPS syscall analysis (#16751) ##anal
This commit is contained in:
parent
d2b1d1359e
commit
502b4b0f52
@ -1520,7 +1520,7 @@ R_API char *cmd_syscall_dostr(RCore *core, st64 n, ut64 addr) {
|
||||
// XXX this is a hack to make syscall args work on x86-32 and x86-64
|
||||
// we need to shift sn first.. which is bad, but needs to be redesigned
|
||||
int regidx = i;
|
||||
if (core->assembler->bits == 32) {
|
||||
if (core->assembler->bits == 32 && !strcmp (core->assembler->cpu, "x86")) {
|
||||
regidx++;
|
||||
}
|
||||
ut64 arg = r_debug_arg_get (core->dbg, R_ANAL_CC_TYPE_FASTCALL, regidx);
|
||||
|
@ -1,45 +1,45 @@
|
||||
_=4000
|
||||
syscall=4000,1,1,i
|
||||
exit=4001,1,1,i
|
||||
fork=4002,2,0,
|
||||
read=4003,3,3,ipi
|
||||
write=4004,4,3,izi
|
||||
open=4005,5,3,zxx
|
||||
close=4006,6,1,i
|
||||
waitpid=4007,7,3,ipx
|
||||
creat=4008,8,2,zx
|
||||
link=4009,9,2,zz
|
||||
unlink=4010,10,1,z
|
||||
execve=4011,11,3,zzz
|
||||
chdir=4012,12,1,z
|
||||
time=4013,13,1,p
|
||||
mknod=4014,14,1,zxi
|
||||
chmod=4015,15,1,zx
|
||||
lchown=4016,16,1,zii
|
||||
getpid=4020,20,0,
|
||||
setuid=4023,23,1,i
|
||||
getuid=4024,24,0,
|
||||
ptrace=4026,26,4,
|
||||
utime=4030,30,2,
|
||||
access=4033,33,2,
|
||||
kill=4037,37,2,
|
||||
dup=4041,41,2,
|
||||
brk=4045,45,1,
|
||||
signal=4048,48,2,
|
||||
ioctl=4054,54,3,
|
||||
mmap=4090,90,6,
|
||||
munmap=4091,91,1,
|
||||
socketcall=4000+102,102,2,
|
||||
sigreturn=4000+119,119,1,
|
||||
clone=4000+120,120,4,
|
||||
mprotect=4000+125,125,3,
|
||||
rt_sigaction=4000+174,174,3,
|
||||
rt_sigprocmask=4000+175,175,3,
|
||||
sysctl=4000+149,149,1,
|
||||
mmap2=4000+192,192,6,
|
||||
fstat64=4000+197,197,2,
|
||||
fcntl64=4000+221,221,3,
|
||||
gettid=4000+224,224,0,
|
||||
set_thread_area=4000+243,243,2,
|
||||
get_thread_area=4000+244,244,2,
|
||||
exit_group=4000+252,252,1,
|
||||
syscall=0xfa0,4000,1,i
|
||||
exit=0xfa0,4001,1,i
|
||||
fork=0xfa0,4002,0,
|
||||
read=0xfa0,4003,3,ipi
|
||||
write=0xfa0,4004,3,izi
|
||||
open=0xfa0,4005,3,zxx
|
||||
close=0xfa0,4006,1,i
|
||||
waitpid=0xfa0,4007,3,ipx
|
||||
creat=0xfa0,4008,2,zx
|
||||
link=0xfa0,4009,2,zz
|
||||
unlink=0xfa0,4010,1,z
|
||||
execve=0xfa0,4011,3,zzz
|
||||
chdir=0xfa0,4012,1,z
|
||||
time=0xfa0,4013,1,p
|
||||
mknod=0xfa0,4014,1,zxi
|
||||
chmod=0xfa0,4015,1,zx
|
||||
lchown=0xfa0,4016,1,zii
|
||||
getpid=0xfa0,4020,0,
|
||||
setuid=0xfa0,4023,1,i
|
||||
getuid=0xfa0,4024,0,
|
||||
ptrace=0xfa0,4026,4,
|
||||
utime=0xfa0,4030,2,
|
||||
access=0xfa0,4033,2,
|
||||
kill=0xfa0,4037,2,
|
||||
dup=0xfa0,4041,2,
|
||||
brk=0xfa0,4045,1,
|
||||
signal=0xfa0,4048,2,
|
||||
ioctl=0xfa0,4054,3,
|
||||
mmap=0xfa0,4090,6,
|
||||
munmap=0xfa0,4091,1,
|
||||
socketcall=0xfa0+102,4102,2,
|
||||
sigreturn=0xfa0+119,4119,1,
|
||||
clone=0xfa0+120,4120,4,
|
||||
mprotect=0xfa0+125,4125,3,
|
||||
rt_sigaction=0xfa0+174,4174,3,
|
||||
rt_sigprocmask=0xfa0+175,4175,3,
|
||||
sysctl=0xfa0+149,4149,1,
|
||||
mmap2=0xfa0+192,4192,6,
|
||||
fstat64=0xfa0+197,4197,2,
|
||||
fcntl64=0xfa0+221,4221,3,
|
||||
gettid=0xfa0+224,4224,0,
|
||||
set_thread_area=0xfa0+243,4243,2,
|
||||
get_thread_area=0xfa0+244,4244,2,
|
||||
exit_group=0xfa0+252,4252,1,
|
||||
|
@ -1773,3 +1773,17 @@ EXPECT=<<EOF
|
||||
0x415424
|
||||
EOF
|
||||
RUN
|
||||
|
||||
NAME=mips linux syscall
|
||||
FILE=bins/elf/syscall_mips
|
||||
CMDS=<<EOF
|
||||
s entry0
|
||||
aei
|
||||
aeip
|
||||
6aes
|
||||
as
|
||||
EOF
|
||||
EXPECT=<<EOF
|
||||
0xfa4 = write (1, "Hello, world!.", 15)
|
||||
EOF
|
||||
RUN
|
Loading…
x
Reference in New Issue
Block a user