OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [uClibc/] [libc/] [sysdeps/] [linux/] [sh/] [syscall_error.S] - Rev 1765

Compare with Previous | Blame | View Log

        .align 4
__syscall_error:
        /* Call errno_location, store '-r4' in errno and return -1 */
        mov.l   r12, @-r15
        sts.l   pr, @-r15
#if defined __HAVE_ELF__ && defined __HAVE_SHARED__ 
        mova    .LG, r0
        mov.l   .LG, r12
        add     r0, r12
        mov.l   1f, r0
        mov.l   @(r0,r12),r0
        jsr     @r0
         neg    r4, r12
#else   
        mov.l   1f, r0
        bsrf    r0
         neg    r4, r12
.jmp_loc:               
#endif
        mov.l   r12, @r0
        lds.l   @r15+, pr
        mov.l   @r15+,r12

        /* And just kick back a -1.  */
        rts
         mov    #-1, r0

        .align  4

#if defined __HAVE_ELF__ && defined __HAVE_SHARED__ 
1:      .long   __errno_location@GOT
.LG:    .long   _GLOBAL_OFFSET_TABLE_
#else
1:      .long   __errno_location - .jmp_loc
#endif          


Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.