1 .global __syscall 2 .hidden __syscall 3 .type __syscall,@function 4__syscall: 5 mr 0, 3 # Save the system call number 6 mr 3, 4 # Shift the arguments: arg1 7 mr 4, 5 # arg2 8 mr 5, 6 # arg3 9 mr 6, 7 # arg4 10 mr 7, 8 # arg5 11 mr 8, 9 # arg6 12 sc 13 bnslr+ # return if not summary overflow 14 neg 3, 3 # otherwise error: return negated value. 15 blr 16 .end __syscall 17 .size __syscall, .-__syscall 18