alpha: Support 6th argument to syscall
authorMike Hommey <mh+reportbug@glandium.org>
Thu, 16 Feb 2012 00:27:55 +0000 (16:27 -0800)
committerRichard Henderson <rth@twiddle.net>
Thu, 16 Feb 2012 00:27:55 +0000 (16:27 -0800)
ChangeLog.alpha
sysdeps/unix/sysv/linux/alpha/syscall.S

index 87f3cf8..5b98b1e 100644 (file)
@@ -1,3 +1,8 @@
+2012-02-15  Mike Hommey  <mh+reportbug@glandium.org>
+
+       [BZ #11677]
+       * sysdeps/unix/sysv/linux/alpha/syscall.S: Support 6th argument.
+
 2012-02-15  Richard Henderson  <rth@twiddle.net>
 
         * sysdeps/unix/sysv/linux/alpha/bits/signalfd.h: New file.
index 0c40813..02d5d65 100644 (file)
  *
  * Usage:
  *
- * long        syscall(syscall_number, arg1, arg2, arg3, arg4, arg5)
+ * long        syscall(syscall_number, arg1, arg2, arg3, arg4, arg5, arg6)
  *
  * syscall_number = the index of the system call we're invoking
- * arg1-arg5 = up to 5 integer arguments to the system call
+ * arg1-arg6 = up to 6 integer arguments to the system call
  *
  * We need to do some arg shifting: the kernel expects the
- * syscall number in v0 and the first five args in a0-a4.
+ * syscall number in v0 and the first six args in a0-a5.
  *
  */
 
@@ -60,6 +60,7 @@ LEAF(__syscall, 0)
        mov     a3, a2
        mov     a4, a3
        mov     a5, a4
+       ldq     a5,0(sp)        /* arg6 -> a5 */
 
        call_pal PAL_callsys    /* Invoke system call */
        bne     a3, $error