#include "SYS.h"
-#if defined(__ppc__) || defined(__ppc64__)
-
-MI_ENTRY_POINT(___ptrace)
- li r7,0
- MI_GET_ADDRESS(r8,_errno)
- stw r7,0(r8)
- SYSCALL_NONAME(ptrace, 4)
- blr
-
-#elif defined(__i386__)
+#if defined(__i386__)
.globl _errno
LEAF(___ptrace, 0)
xorl %eax,%eax
REG_TO_EXTERN(%eax,_errno)
-UNIX_SYSCALL_NONAME(ptrace, 4)
+ UNIX_SYSCALL_NONAME(ptrace, 4, cerror)
ret
#elif defined(__x86_64__)
LEAF(___ptrace, 0)
xorq %rax,%rax
- REG_TO_EXTERN(%rax,_errno)
-UNIX_SYSCALL_NONAME(ptrace, 4)
+ PICIFY(_errno)
+ movl %eax,(%r11)
+ UNIX_SYSCALL_NONAME(ptrace, 4, cerror)
ret
-#elif defined(__arm__)
-
-MI_ENTRY_POINT(_ptrace)
- MI_GET_ADDRESS(ip,_errno)
- str r8, [sp, #-4]!
- mov r8, #0
- str r8, [ip]
- ldr r8, [sp], #4
- SYSCALL_NONAME(ptrace, 4)
- bx lr
-
#else
#error Unsupported architecture
#endif