Changeset View
Changeset View
Standalone View
Standalone View
lib/libsys/sparc64/sys/cerror.S
- This file was moved from lib/libc/amd64/sys/cerror.S.
Show All 22 Lines | |||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE | * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE | ||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | ||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | ||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | ||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | ||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | ||||
* SUCH DAMAGE. | * SUCH DAMAGE. | ||||
* | |||||
* from: FreeBSD: src/lib/libc/i386/sys/cerror.S,v 1.11 2001/08/13 | |||||
*/ | */ | ||||
#if defined(SYSLIBC_SCCS) && !defined(lint) | |||||
.asciz "@(#)cerror.s 5.1 (Berkeley) 4/23/90" | |||||
#endif /* SYSLIBC_SCCS and not lint */ | |||||
#include <machine/asm.h> | #include <machine/asm.h> | ||||
__FBSDID("$FreeBSD$"); | __FBSDID("$FreeBSD$"); | ||||
#include "SYS.h" | #include "SYS.h" | ||||
.text | |||||
.align 16 | |||||
.globl HIDENAME(cerror) | .globl HIDENAME(cerror) | ||||
.hidden HIDENAME(cerror) | .type HIDENAME(cerror),@function | ||||
/* | /* | ||||
* The __error() function is thread aware. For non-threaded | * The __error() function is thread aware. For non-threaded | ||||
* programs and the initial threaded in threaded programs, | * programs and the initial threaded in threaded programs, | ||||
* it returns a pointer to the global errno variable. | * it returns a pointer to the global errno variable. | ||||
*/ | */ | ||||
.globl CNAME(__error) | .globl CNAME(__error) | ||||
.type CNAME(__error),@function | |||||
HIDENAME(cerror): | HIDENAME(cerror): | ||||
pushq %rax | save %sp, -CCFSZ, %sp | ||||
call PIC_PLT(CNAME(__error)) | call CNAME(__error) | ||||
popq %rcx | nop | ||||
movl %ecx,(%rax) | stw %i0, [%o0] | ||||
movq $-1,%rax | mov -1, %i0 | ||||
movq $-1,%rdx | |||||
ret | ret | ||||
restore %g0, -1, %o1 | |||||
.section .note.GNU-stack,"",%progbits | END(HIDENAME(cerror)) |