func LinuxSyscall(u models.Usercorn) { // TODO: handle errors or something num, _ := u.RegRead(uc.MIPS_REG_V0) name, _ := sysnum.Linux_mips[int(num)] ret, _ := u.Syscall(int(num), name, common.RegArgs(u, LinuxRegs)) u.RegWrite(uc.MIPS_REG_V0, ret) }
func LinuxSyscall(u models.Usercorn) { // TODO: handle errors or something eax, _ := u.RegRead(uc.X86_REG_EAX) name, _ := num.Linux_x86[int(eax)] ret, _ := u.Syscall(int(eax), name, co.RegArgs(u, LinuxRegs)) u.RegWrite(uc.X86_REG_EAX, ret) }
func LinuxSyscall(u models.Usercorn) { // TODO: handle errors or something g1, _ := u.RegRead(uc.SPARC_REG_G1) // TODO: add sparc x86 syscall numbers to ghostrace name, _ := num.Linux_x86[int(g1)] ret, _ := u.Syscall(int(g1), name, co.RegArgs(u, LinuxRegs)) u.RegWrite(uc.SPARC_REG_O0, ret) }
func LinuxSyscall(u models.Usercorn, num int) { // TODO: EABI has a different syscall base (OABI is 0x900000) // TODO: does the generator handle this? it needs to. if num > 0x900000 { num -= 0x900000 } name, _ := sysnum.Linux_arm[int(num)] ret, _ := u.Syscall(int(num), name, common.RegArgs(u, LinuxRegs)) u.RegWrite(uc.ARM_REG_R0, ret) }
func DarwinSyscall(u models.Usercorn) { rax, _ := u.RegRead(uc.X86_REG_RAX) name, _ := num.Darwin_x86_mach[int(rax)] ret, _ := u.Syscall(int(rax), name, common.RegArgs(u, AbiRegs)) u.RegWrite(uc.X86_REG_RAX, ret) }
func LinuxSyscall(u models.Usercorn, num int) { name, _ := sysnum.Linux_arm[int(num)] ret, _ := u.Syscall(int(num), name, common.RegArgs(u, LinuxRegs)) u.RegWrite(uc.ARM64_REG_X0, ret) }
func LinuxSyscall(u models.Usercorn) { rax, _ := u.RegRead(uc.X86_REG_RAX) name, _ := num.Linux_x86_64[int(rax)] ret, _ := u.Syscall(int(rax), name, common.RegArgs(u, AbiRegs)) u.RegWrite(uc.X86_REG_RAX, ret) }
func CgcSyscall(u models.Usercorn) { eax, _ := u.RegRead(uc.X86_REG_EAX) name, _ := cgcSysNum[int(eax)] ret, _ := u.Syscall(int(eax), name, co.RegArgs(u, LinuxRegs)) u.RegWrite(uc.X86_REG_EAX, ret) }