mirror of
git://sourceware.org/git/glibc.git
synced 2024-12-27 04:41:02 +08:00
(__syscall_error): Same for PIC and non-PIC now. Correctly negate
error number. (errno): Use `%' not `@' in .type directives.
This commit is contained in:
parent
24e022cf82
commit
80509c667f
@ -1,4 +1,4 @@
|
|||||||
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
|
/* Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
@ -21,31 +21,23 @@
|
|||||||
/* We define errno here, to be consistent with Linux/i386. */
|
/* We define errno here, to be consistent with Linux/i386. */
|
||||||
.bss
|
.bss
|
||||||
.globl errno
|
.globl errno
|
||||||
.type errno,@object
|
.type errno,%object
|
||||||
.size errno,4
|
.size errno,4
|
||||||
errno: .zero 4
|
errno: .zero 4
|
||||||
.globl _errno
|
.globl _errno
|
||||||
.type _errno,@object
|
.type _errno,%object
|
||||||
_errno = errno /* This name is expected by hj's libc.so.5 startup code. */
|
_errno = errno /* This name is expected by hj's libc.so.5 startup code. */
|
||||||
.text
|
.text
|
||||||
|
|
||||||
/* The following code is only used in the shared library when we
|
|
||||||
compile the reentrant version. Otherwise each system call defines
|
|
||||||
each own version. */
|
|
||||||
|
|
||||||
#ifndef PIC
|
|
||||||
|
|
||||||
/* The syscall stubs jump here when they detect an error.
|
/* The syscall stubs jump here when they detect an error.
|
||||||
The code for Linux is almost identical to the canonical Unix/i386
|
The code for Linux is almost identical to the canonical Unix
|
||||||
code, except that the error number in %eax is negated. */
|
code, except that the error number in R0 is negated. */
|
||||||
|
|
||||||
#undef CALL_MCOUNT
|
#undef CALL_MCOUNT
|
||||||
#define CALL_MCOUNT /* Don't insert the profiling call, it clobbers %eax. */
|
#define CALL_MCOUNT /* Don't insert the profiling call, it clobbers R0. */
|
||||||
|
|
||||||
ENTRY (__syscall_error)
|
ENTRY (__syscall_error)
|
||||||
mvn r0, r0
|
rsb r0, r0, $0
|
||||||
|
|
||||||
#define __syscall_error __syscall_error_1
|
#define __syscall_error __syscall_error_1
|
||||||
#include <sysdeps/unix/arm/sysdep.S>
|
#include <sysdeps/unix/arm/sysdep.S>
|
||||||
|
|
||||||
#endif /* !PIC */
|
|
||||||
|
Loading…
Reference in New Issue
Block a user