aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/i386/xstat.S
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix/sysv/linux/i386/xstat.S')
-rw-r--r--sysdeps/unix/sysv/linux/i386/xstat.S9
1 files changed, 3 insertions, 6 deletions
diff --git a/sysdeps/unix/sysv/linux/i386/xstat.S b/sysdeps/unix/sysv/linux/i386/xstat.S
index 34822beda6..58c5f558c4 100644
--- a/sysdeps/unix/sysv/linux/i386/xstat.S
+++ b/sysdeps/unix/sysv/linux/i386/xstat.S
@@ -19,23 +19,20 @@ Cambridge, MA 02139, USA. */
#include <sysdep.h>
#include <errnos.h>
-#define SYS_expand(name) SYS_ify(name)
-
-.globl syscall_error
+ .text
+ SYSCALL_ERROR_HANDLER /* Error handler for PIC. */
ENTRY (__xstat)
popl %ecx /* Pop return address into %eax. */
popl %edx /* Pop version number into %edx. */
pushl %ecx /* Push back the return address. */
- movl $SYS_expand(stat), %eax
- /* Load syscall number for prev_stat in %eax. */
cmpl $1, %edx /* Version 1 xstat call? */
je .L1 /* Yes, do syscall. */
movl $-EINVAL, %eax /* Load error code into %eax. */
jmp .L2
-.L1: DO_CALL (2) /* Do the syscall. */
+.L1: DO_CALL (2, stat) /* Do the syscall. */
movl (%esp), %ecx
testl %eax, %eax /* Check for error. */