summaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2000-06-10 21:04:36 +0000
committerUlrich Drepper <drepper@redhat.com>2000-06-10 21:04:36 +0000
commitd049b7124780b0f3b34ce09c5470797b7c892a08 (patch)
treedfa2b8f43ce60b73fb3630eeaab5c538b4563360 /sysdeps/unix/sysv
parent425638fbc756082c8f828b2931787f7128afa1e8 (diff)
downloadglibc-d049b7124780b0f3b34ce09c5470797b7c892a08.tar.gz
Update
2000-06-10 David Mosberger <davidm@hpl.hp.com> * sysdeps/unix/sysv/linux/ia64/syscall.S: Fix it so it actually works.
Diffstat (limited to 'sysdeps/unix/sysv')
-rw-r--r--sysdeps/unix/sysv/linux/ia64/syscall.S27
1 files changed, 6 insertions, 21 deletions
diff --git a/sysdeps/unix/sysv/linux/ia64/syscall.S b/sysdeps/unix/sysv/linux/ia64/syscall.S
index 25f81cd61a..b632514033 100644
--- a/sysdeps/unix/sysv/linux/ia64/syscall.S
+++ b/sysdeps/unix/sysv/linux/ia64/syscall.S
@@ -1,6 +1,6 @@
/* Copyright (C) 1999, 2000 Free Software Foundation, Inc.
This file is part of the GNU C Library.
- Contributed by Jes Sorensen (Jes.Sorensen@cern.ch)
+ Contributed by Jes Sorensen <Jes.Sorensen@cern.ch>.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
@@ -19,27 +19,12 @@
#include <sysdep.h>
-/*
- * This is ugly as hell, but we need to take out the syscall number and
- * rotate the input arguments one register before performing the syscall
- */
-ENTRY(__syscall)
+ENTRY(syscall)
+ alloc r2=ar.pfs,1,0,8,0
mov r15=r32 /* syscall number */
- ;;
- mov r32=r33
- ;;
- mov r33=r34
- ;;
- mov r34=r35
- ;;
- mov r35=r36
- ;;
- mov r36=r37
break __BREAK_SYSCALL
- cmp.ne p6,p0=-1,r10 /* r10 = -1 on error */
;;
+ cmp.ne p6,p0=-1,r10 /* r10 = -1 on error */
(p6) ret
-(p7) br.cond.spnt.few __syscall_error
-PSEUDO_END(__syscall)
-
-weak_alias (__syscall, syscall)
+ br.cond.spnt.few __syscall_error
+PSEUDO_END(syscall)