| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 | /* * Copyright (C) 2004-2007 Atmel Corporation * * This file is subject to the terms and conditions of the GNU Lesser General * Public License.  See the file "COPYING.LIB" in the main directory of this * archive for more details. */#include <features.h>       .text       /*        * long int syscall(long int sysno, ...)        */       .global syscall       .type   syscall, @function       .align  2syscall:       stm     --sp, r3,r5,r6,lr       sub     lr, sp, -16       mov     r8, r12       ldm     lr, r3,r5,r9-r12       scall       cp.w    r12, -4095       brlo    .Ldone#ifdef __PIC__       lddpc   r6, .Lgot.Lgotcalc:       rsub    r6, pc# ifdef __UCLIBC_HAS_THREADS__       rsub    r3, r12, 0       mcall   r6[__errno_location@got]       st.w    r12[0], r3# else       ld.w    r3, r6[errno@got]       neg     r12       st.w    r3[0], r12# endif#else# ifdef __UCLIBC_HAS_THREADS__       rsub    r3, r12, 0       mcall   .Lerrno_location       st.w    r12[0], r3# else       lddpc   r3, .Lerrno       neg     r12       st.w    r3[0], r12# endif#endif       mov     r12, -1.Ldone:       ldm     sp++, r3,r5,r6,pc       .align  2#ifdef __PIC__.Lgot:       .long   .Lgotcalc - _GLOBAL_OFFSET_TABLE_#else# ifdef __UCLIBC_HAS_THREADS__.Lerrno_location:       .long   __errno_location# else.Lerrno:       .long   errno# endif#endif       .size   syscall, . - syscall
 |