From d049b7124780b0f3b34ce09c5470797b7c892a08 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Sat, 10 Jun 2000 21:04:36 +0000 Subject: Update 2000-06-10 David Mosberger * sysdeps/unix/sysv/linux/ia64/syscall.S: Fix it so it actually works. --- sysdeps/unix/sysv/linux/ia64/syscall.S | 27 ++++++--------------------- 1 file changed, 6 insertions(+), 21 deletions(-) (limited to 'sysdeps/unix/sysv') 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 . 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 -/* - * 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) -- cgit v1.2.3