From d049b7124780b0f3b34ce09c5470797b7c892a08 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Sat, 10 Jun 2000 21:04:36 +0000 Subject: [PATCH] Update 2000-06-10 David Mosberger * sysdeps/unix/sysv/linux/ia64/syscall.S: Fix it so it actually works. --- ChangeLog | 4 ++++ sysdeps/unix/sysv/linux/ia64/syscall.S | 27 ++++++--------------------- 2 files changed, 10 insertions(+), 21 deletions(-) diff --git a/ChangeLog b/ChangeLog index 31a8ca0..3f40c95 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2000-06-10 David Mosberger + + * sysdeps/unix/sysv/linux/ia64/syscall.S: Fix it so it actually works. + 2000-06-10 Ulrich Drepper * iconv/gconv_simple.c: Fix various small bugs in several diff --git a/sysdeps/unix/sysv/linux/ia64/syscall.S b/sysdeps/unix/sysv/linux/ia64/syscall.S index 25f81cd..b632514 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) -- 2.7.4