aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/ia64/sysdep.S
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix/sysv/linux/ia64/sysdep.S')
-rw-r--r--sysdeps/unix/sysv/linux/ia64/sysdep.S22
1 files changed, 6 insertions, 16 deletions
diff --git a/sysdeps/unix/sysv/linux/ia64/sysdep.S b/sysdeps/unix/sysv/linux/ia64/sysdep.S
index e327e1f..20122fa 100644
--- a/sysdeps/unix/sysv/linux/ia64/sysdep.S
+++ b/sysdeps/unix/sysv/linux/ia64/sysdep.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc.
Contributed by David Mosberger-Tang <davidm@hpl.hp.com>.
The GNU C Library is free software; you can redistribute it and/or
@@ -19,10 +19,6 @@
#include <sysdep.h>
#include <features.h>
- .psr abi64
- .psr lsb
- .lsb
-
.global errno
.common errno,4,4
.type errno, @object
@@ -34,16 +30,11 @@ __errno = errno
.global _errno
_errno = errno
- .text
-
- .align 8
-
- .global __syscall_error
- .proc __syscall_error
-__syscall_error:
+ENTRY(__syscall_error)
#ifdef _LIBC_REENTRANT
+ .prologue ASM_UNW_PRLG_RP|ASM_UNW_PRLG_PFS, ASM_UNW_PRLG_GRSAVE(0)
alloc r35=ar.pfs, 0, 4, 0, 0
- mov r32=b0
+ mov r32=rp
mov r33=r8
mov r34=r1
;;
@@ -51,7 +42,7 @@ __syscall_error:
.Lret0: /* force new bundle */
st4 [r8]=r33
mov r1=r34
- mov b0=r32
+ mov rp=r32
mov r8=-1
mov ar.pfs=r35
#else /* _LIBC_REENTRANT */
@@ -71,8 +62,7 @@ __syscall_error:
st4 [r2]=r3
#endif /* _LIBC_REENTRANT */
ret // ret is #define'd in syscall.h!
- .endp __syscall_error
-
+END(__syscall_error)
ENTRY(__ia64_syscall)
mov r15=r37 /* syscall number */