1 .align 4 2__syscall_error: 3 /* Call errno_location, store '-r4' in errno and return -1 */ 4 mov.l r12, @-r15 5 sts.l pr, @-r15 6#ifdef SHARED 7 mova .LG, r0 8 mov.l .LG, r12 9 add r0, r12 10 mov.l 1f, r0 11 mov.l @(r0,r12),r0 12 jsr @r0 13 neg r4, r12 14#else 15 mov.l 1f, r0 16 bsrf r0 17 neg r4, r12 18.jmp_loc: 19#endif 20 mov.l r12, @r0 21 lds.l @r15+, pr 22 mov.l @r15+,r12 23 24 /* And just kick back a -1. */ 25 rts 26 mov #-1, r0 27 28 .align 4 29 30#ifdef SHARED 311: .long __errno_location@GOT 32.LG: .long _GLOBAL_OFFSET_TABLE_ 33#else 341: .long __errno_location - .jmp_loc 35#endif 36 37 38