-#include <architecture/ppc/mode_independent_asm.h>
-
- .globl _errno
-
-MI_ENTRY_POINT(cerror)
- MI_PUSH_STACK_FRAME
- MI_GET_ADDRESS(r12,_errno)
- stw r3,0(r12) /* save syscall return code in global */
- MI_CALL_EXTERNAL(_cthread_set_errno_self)
- li r3,-1 /* then bug return value */
- li r4,-1 /* in case we're returning a long-long in 32-bit mode, etc */
- MI_POP_STACK_FRAME_AND_RETURN
-
-
- .globl _processor_facilities_used
- .align 2
-_processor_facilities_used:
- li r0,0x7FF3
- sc
- blr
-
-#elif defined(__i386__)
-
- .globl _errno
-
-LABEL(cerror)
- REG_TO_EXTERN(%eax, _errno)
- mov %esp,%edx
- andl $0xfffffff0,%esp
- subl $16,%esp
- movl %edx,4(%esp)
- movl %eax,(%esp)
- CALL_EXTERN(_cthread_set_errno_self)
- movl 4(%esp),%esp
- movl $-1,%eax
- movl $-1,%edx /* in case a 64-bit value is returned */