Update
authorUlrich Drepper <drepper@redhat.com>
Sat, 10 Jun 2000 21:04:36 +0000 (21:04 +0000)
committerUlrich Drepper <drepper@redhat.com>
Sat, 10 Jun 2000 21:04:36 +0000 (21:04 +0000)
2000-06-10  David Mosberger  <davidm@hpl.hp.com>

* sysdeps/unix/sysv/linux/ia64/syscall.S: Fix it so it actually works.

ChangeLog
sysdeps/unix/sysv/linux/ia64/syscall.S

index 31a8ca0..3f40c95 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2000-06-10  David Mosberger  <davidm@hpl.hp.com>
+
+       * sysdeps/unix/sysv/linux/ia64/syscall.S: Fix it so it actually works.
+
 2000-06-10  Ulrich Drepper  <drepper@redhat.com>
 
        * iconv/gconv_simple.c: Fix various small bugs in several
index 25f81cd..b632514 100644 (file)
@@ -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
 
 #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)