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

Subversion Repositories or1k

[/] [or1k/] [trunk/] [newlib/] [newlib/] [libc/] [sys/] [sparc64/] [cerror.S] - Rev 39

Go to most recent revision | Compare with Previous | Blame | View Log

! Set errno.
! This function is called by all the syscall stubs.
!
! FIXME: We assume errno is the first member of struct _reent.
! Not sure what to do about this.

#include <sys/syscallasm.h>

        DATA_SECTION
        ALIGN (4)
        GLOBAL (ASM_SYMBOL (errno))     ! FIXME: ASM_PRIVATE_SYMBOL ?
ASM_SYMBOL (errno):
        WORD (0)

        TEXT_SECTION
        ALIGN (4)

        GLOBAL (ASM_PRIVATE_SYMBOL (cerror))
ASM_PRIVATE_SYMBOL (cerror):
        sethi   %hi (ASM_SYMBOL (errno)),%g1
        stw     %o0,[%g1+%lo (ASM_SYMBOL (errno))]
        jmpl    %o7+8,%g0
        mov     -1,%o0

        GLOBAL (ASM_PRIVATE_SYMBOL (cerror_r))
ASM_PRIVATE_SYMBOL (cerror_r):
        stw     %o0,[%o1]
        jmpl    %o7+8,%g0
        mov     -1,%o0

Go to most recent revision | 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.