[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[glibc] 01/01: Replace debian/patches/mips/submitted-syscalls5-7-unbound-stack.diff by the final version git/submitted-syscalls5-7-unbound-stack.diff.



This is an automated email from the git hooks/post-receive script.

aurel32 pushed a commit to branch glibc-2.25
in repository glibc.

commit 267d61dde2d8450755188af7faabd7cdc79ad51e
Author: Aurelien Jarno <aurelien@aurel32.net>
Date:   Tue Aug 29 22:04:50 2017 +0200

    Replace debian/patches/mips/submitted-syscalls5-7-unbound-stack.diff by the final version git/submitted-syscalls5-7-unbound-stack.diff.
---
 debian/changelog                                   |   4 +
 .../mips/git-syscalls5-7-unbound-stack.diff        | 652 ++++++++++++++
 .../mips/submitted-syscalls5-7-unbound-stack.diff  | 936 ---------------------
 debian/patches/series                              |   2 +-
 4 files changed, 657 insertions(+), 937 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index f0ebd8e..a6d74d4 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -8,6 +8,10 @@ glibc (2.25-0experimental4) UNRELEASED; urgency=medium
     rt/tst-aio64 sync ordering.
   * sysdeps/hurd.mk: Enable stack-protector on the Hurd.
 
+  [ Aurelien Jarno ]
+  * Replace debian/patches/mips/submitted-syscalls5-7-unbound-stack.diff
+    by the final version git/submitted-syscalls5-7-unbound-stack.diff.
+
  -- Aurelien Jarno <aurel32@debian.org>  Sun, 27 Aug 2017 01:51:15 +0200
 
 glibc (2.25-0experimental3) experimental; urgency=medium
diff --git a/debian/patches/mips/git-syscalls5-7-unbound-stack.diff b/debian/patches/mips/git-syscalls5-7-unbound-stack.diff
new file mode 100644
index 0000000..824acf9
--- /dev/null
+++ b/debian/patches/mips/git-syscalls5-7-unbound-stack.diff
@@ -0,0 +1,652 @@
+2017-08-29  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+	    Aurelien Jarno  <aurelien@aurel32.net>
+	    Maciej W. Rozycki  <macro@imgtec.com>
+
+	[BZ #21956]
+	* sysdeps/unix/sysv/linux/mips/mips32/mips16/Makefile
+	[subdir = misc] (sysdep_routines): Remove `mips16-syscall5',
+	`mips16-syscall6' and `mips16-syscall7'.
+	(CFLAGS-mips16-syscall5.c, CFLAGS-mips16-syscall6.c)
+	(CFLAGS-mips16-syscall7.c): Remove.
+	* sysdeps/unix/sysv/linux/mips/mips32/mips16/Versions (libc):
+	Remove `__mips16_syscall5', `__mips16_syscall6' and
+	`__mips16_syscall7'.
+	* sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall0.c
+	(__mips16_syscall0): Rename `__mips16_syscall_return' to
+	`__mips_syscall_return'.
+	* sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall1.c
+	(__mips16_syscall1): Likewise.
+	* sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall2.c
+	(__mips16_syscall2): Likewise.
+	* sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall3.c
+	(__mips16_syscall3): Likewise.
+	* sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall4.c
+	(__mips16_syscall4): Likewise.
+	* sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall5.c:
+	Remove.
+	* sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall6.c:
+	Remove.
+	* sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall7.c:
+	Remove.
+	* sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall.h
+	(__mips16_syscall5): Expand to `__mips_syscall5' rather than
+	`__mips16_syscall5'.  Remove prototype.
+	(__mips16_syscall6): Expand to `__mips_syscall6' rather than
+	`__mips16_syscall6'.  Remove prototype.
+	(__mips16_syscall7): Expand to `__mips_syscall7' rather than
+	`__mips16_syscall7'.  Remove prototype.
+	(__nomips16, __mips16_syscall_return): Move to...
+	* sysdeps/unix/sysv/linux/mips/mips32/sysdep.h
+	(__nomips16, __mips_syscall_return): ... here.
+	[__mips16] (INTERNAL_SYSCALL_NCS): Rename
+	`__mips16_syscall_return' to `__mips_syscall_return'.
+	[__mips16] (INTERNAL_SYSCALL_MIPS16): Pass `number' to
+	`internal_syscall##nr'.
+	[!__mips16] (INTERNAL_SYSCALL): Pass `SYS_ify (name)' to
+	`internal_syscall##nr'.
+	(FORCE_FRAME_POINTER): Remove.
+	(__mips_syscall5): New prototype.
+	(internal_syscall5): Rewrite to call `__mips_syscall5'.
+	(__mips_syscall6): New prototype.
+	(internal_syscall6): Rewrite to call `__mips_syscall6'.
+	(__mips_syscall7): New prototype.
+	(internal_syscall7): Rewrite to call `__mips_syscall7'.
+	* sysdeps/unix/sysv/linux/mips/mips32/mips-syscall5.S: New file.
+	* sysdeps/unix/sysv/linux/mips/mips32/mips-syscall6.S: New file.
+	* sysdeps/unix/sysv/linux/mips/mips32/mips-syscall7.S: New file.
+	* sysdeps/unix/sysv/linux/mips/mips32/Makefile [subdir = misc]
+	(sysdep_routines): Add libc-do-syscall.
+	* sysdeps/unix/sysv/linux/mips/mips32/Versions (libc): Add
+	`__mips_syscall5', `__mips_syscall6' and `__mips_syscall7'.
+
+diff --git a/sysdeps/unix/sysv/linux/mips/mips32/Makefile b/sysdeps/unix/sysv/linux/mips/mips32/Makefile
+index 33b461500c..aa1aa8fe80 100644
+--- a/sysdeps/unix/sysv/linux/mips/mips32/Makefile
++++ b/sysdeps/unix/sysv/linux/mips/mips32/Makefile
+@@ -0,0 +1,3 @@ ifeq ($(subdir),conform)
++ifeq ($(subdir),misc)
++sysdep_routines += mips-syscall5 mips-syscall6 mips-syscall7
++endif
+diff --git a/sysdeps/unix/sysv/linux/mips/mips32/Versions b/sysdeps/unix/sysv/linux/mips/mips32/Versions
+index 9621fb5cae..9337f8fe3d 100644
+--- a/sysdeps/unix/sysv/linux/mips/mips32/Versions
++++ b/sysdeps/unix/sysv/linux/mips/mips32/Versions
+@@ -3,4 +3,7 @@ libc {
+     getrlimit64;
+     setrlimit64;
+   }
++  GLIBC_PRIVATE {
++    __mips_syscall5; __mips_syscall6; __mips_syscall7;
++  }
+ }
+diff --git a/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall5.c b/sysdeps/unix/sysv/linux/mips/mips32/mips-syscall5.S
+similarity index 60%
+rename from sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall5.c
+rename to sysdeps/unix/sysv/linux/mips/mips32/mips-syscall5.S
+index ad265d88e2..9f331675df 100644
+--- a/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall5.c
++++ b/sysdeps/unix/sysv/linux/mips/mips32/mips-syscall5.S
+@@ -1,5 +1,5 @@
+-/* MIPS16 syscall wrappers.
+-   Copyright (C) 2013-2017 Free Software Foundation, Inc.
++/* MIPS syscall wrappers.
++   Copyright (C) 2017 Free Software Foundation, Inc.
+    This file is part of the GNU C Library.
+ 
+    The GNU C Library is free software; you can redistribute it and/or
+@@ -13,21 +13,23 @@
+    Lesser General Public License for more details.
+ 
+    You should have received a copy of the GNU Lesser General Public
+-   License along with the GNU C Library; if not, see
++   License along with the GNU C Library.  If not, see
+    <http://www.gnu.org/licenses/>.  */
+ 
+ #include <sysdep.h>
+-#include <mips16-syscall.h>
++#include <sys/asm.h>
+ 
+-#undef __mips16_syscall5
++	.text
++	.set	nomips16
+ 
+-long long __nomips16
+-__mips16_syscall5 (long a0, long a1, long a2, long a3,
+-		   long a4,
+-		   long number)
+-{
+-  union __mips16_syscall_return ret;
+-  ret.reg.v0 = INTERNAL_SYSCALL_MIPS16 (number, ret.reg.v1, 5,
+-					a0, a1, a2, a3, a4);
+-  return ret.val;
+-}
++/* long long __mips_syscall5 (long arg1, long arg2, long arg3, long arg4,
++			      long arg5,
++			      long number)  */
++
++ENTRY(__mips_syscall5)
++	lw	v0, 20(sp)
++	syscall
++	move	v1, a3
++	jr	ra
++END(__mips_syscall5)
++libc_hidden_def (__mips_syscall5)
+diff --git a/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall6.c b/sysdeps/unix/sysv/linux/mips/mips32/mips-syscall6.S
+similarity index 60%
+rename from sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall6.c
+rename to sysdeps/unix/sysv/linux/mips/mips32/mips-syscall6.S
+index bfbd395ed3..0836660ede 100644
+--- a/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall6.c
++++ b/sysdeps/unix/sysv/linux/mips/mips32/mips-syscall6.S
+@@ -1,5 +1,5 @@
+-/* MIPS16 syscall wrappers.
+-   Copyright (C) 2013-2017 Free Software Foundation, Inc.
++/* MIPS syscall wrappers.
++   Copyright (C) 2017 Free Software Foundation, Inc.
+    This file is part of the GNU C Library.
+ 
+    The GNU C Library is free software; you can redistribute it and/or
+@@ -13,21 +13,23 @@
+    Lesser General Public License for more details.
+ 
+    You should have received a copy of the GNU Lesser General Public
+-   License along with the GNU C Library; if not, see
++   License along with the GNU C Library.  If not, see
+    <http://www.gnu.org/licenses/>.  */
+ 
+ #include <sysdep.h>
+-#include <mips16-syscall.h>
++#include <sys/asm.h>
+ 
+-#undef __mips16_syscall6
++	.text
++	.set	nomips16
+ 
+-long long __nomips16
+-__mips16_syscall6 (long a0, long a1, long a2, long a3,
+-		   long a4, long a5,
+-		   long number)
+-{
+-  union __mips16_syscall_return ret;
+-  ret.reg.v0 = INTERNAL_SYSCALL_MIPS16 (number, ret.reg.v1, 6,
+-					a0, a1, a2, a3, a4, a5);
+-  return ret.val;
+-}
++/* long long __mips_syscall6 (long arg1, long arg2, long arg3, long arg4,
++			      long arg5, long arg6,
++			      long number)  */
++
++ENTRY(__mips_syscall6)
++	lw	v0, 24(sp)
++	syscall
++	move	v1, a3
++	jr	ra
++END(__mips_syscall6)
++libc_hidden_def (__mips_syscall6)
+diff --git a/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall7.c b/sysdeps/unix/sysv/linux/mips/mips32/mips-syscall7.S
+similarity index 59%
+rename from sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall7.c
+rename to sysdeps/unix/sysv/linux/mips/mips32/mips-syscall7.S
+index e1267616dc..f7e742cc4d 100644
+--- a/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall7.c
++++ b/sysdeps/unix/sysv/linux/mips/mips32/mips-syscall7.S
+@@ -1,5 +1,5 @@
+-/* MIPS16 syscall wrappers.
+-   Copyright (C) 2013-2017 Free Software Foundation, Inc.
++/* MIPS syscall wrappers.
++   Copyright (C) 2017 Free Software Foundation, Inc.
+    This file is part of the GNU C Library.
+ 
+    The GNU C Library is free software; you can redistribute it and/or
+@@ -13,21 +13,23 @@
+    Lesser General Public License for more details.
+ 
+    You should have received a copy of the GNU Lesser General Public
+-   License along with the GNU C Library; if not, see
++   License along with the GNU C Library.  If not, see
+    <http://www.gnu.org/licenses/>.  */
+ 
+ #include <sysdep.h>
+-#include <mips16-syscall.h>
++#include <sys/asm.h>
+ 
+-#undef __mips16_syscall7
++	.text
++	.set	nomips16
+ 
+-long long __nomips16
+-__mips16_syscall7 (long a0, long a1, long a2, long a3,
+-		   long a4, long a5, long a6,
+-		   long number)
+-{
+-  union __mips16_syscall_return ret;
+-  ret.reg.v0 = INTERNAL_SYSCALL_MIPS16 (number, ret.reg.v1, 7,
+-					a0, a1, a2, a3, a4, a5, a6);
+-  return ret.val;
+-}
++/* long long __mips_syscall7 (long arg1, long arg2, long arg3, long arg4,
++			      long arg5, long arg6, long arg7,
++			      long number)  */
++
++ENTRY(__mips_syscall7)
++	lw	v0, 28(sp)
++	syscall
++	move	v1, a3
++	jr	ra
++END(__mips_syscall7)
++libc_hidden_def (__mips_syscall7)
+diff --git a/sysdeps/unix/sysv/linux/mips/mips32/mips16/Makefile b/sysdeps/unix/sysv/linux/mips/mips32/mips16/Makefile
+index fa9fcb7e6f..6869bf4f7c 100644
+--- a/sysdeps/unix/sysv/linux/mips/mips32/mips16/Makefile
++++ b/sysdeps/unix/sysv/linux/mips/mips32/mips16/Makefile
+@@ -1,13 +1,9 @@
+ ifeq ($(subdir),misc)
+ sysdep_routines += mips16-syscall0 mips16-syscall1 mips16-syscall2
+-sysdep_routines += mips16-syscall3 mips16-syscall4 mips16-syscall5
+-sysdep_routines += mips16-syscall6 mips16-syscall7
++sysdep_routines += mips16-syscall3 mips16-syscall4
+ CFLAGS-mips16-syscall0.c += -fexceptions
+ CFLAGS-mips16-syscall1.c += -fexceptions
+ CFLAGS-mips16-syscall2.c += -fexceptions
+ CFLAGS-mips16-syscall3.c += -fexceptions
+ CFLAGS-mips16-syscall4.c += -fexceptions
+-CFLAGS-mips16-syscall5.c += -fexceptions
+-CFLAGS-mips16-syscall6.c += -fexceptions
+-CFLAGS-mips16-syscall7.c += -fexceptions
+ endif
+diff --git a/sysdeps/unix/sysv/linux/mips/mips32/mips16/Versions b/sysdeps/unix/sysv/linux/mips/mips32/mips16/Versions
+index 73bcfb566c..bb21747f44 100644
+--- a/sysdeps/unix/sysv/linux/mips/mips32/mips16/Versions
++++ b/sysdeps/unix/sysv/linux/mips/mips32/mips16/Versions
+@@ -1,6 +1,6 @@
+ libc {
+   GLIBC_PRIVATE {
+     __mips16_syscall0; __mips16_syscall1; __mips16_syscall2; __mips16_syscall3;
+-    __mips16_syscall4; __mips16_syscall5; __mips16_syscall6; __mips16_syscall7;
++    __mips16_syscall4;
+   }
+ }
+diff --git a/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall.h b/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall.h
+index 880e9908e8..2ade219c6e 100644
+--- a/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall.h
++++ b/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall.h
+@@ -19,19 +19,6 @@
+ #ifndef MIPS16_SYSCALL_H
+ #define MIPS16_SYSCALL_H 1
+ 
+-#define __nomips16 __attribute__ ((nomips16))
+-
+-union __mips16_syscall_return
+-  {
+-    long long val;
+-    struct
+-      {
+-	long v0;
+-	long v1;
+-      }
+-    reg;
+-  };
+-
+ long long __nomips16 __mips16_syscall0 (long number);
+ #define __mips16_syscall0(dummy, number)				\
+ 	__mips16_syscall0 ((long) (number))
+@@ -61,29 +48,22 @@ long long __nomips16 __mips16_syscall4 (long a0, long a1, long a2, long a3,
+ 			   (long) (a3),					\
+ 			   (long) (number))
+ 
+-long long __nomips16 __mips16_syscall5 (long a0, long a1, long a2, long a3,
+-					long a4,
+-					long number);
++/* The remaining ones use regular MIPS wrappers.  */
++
+ #define __mips16_syscall5(a0, a1, a2, a3, a4, number)			\
+-	__mips16_syscall5 ((long) (a0), (long) (a1), (long) (a2),	\
+-			   (long) (a3), (long) (a4),			\
+-			   (long) (number))
++	__mips_syscall5 ((long) (a0), (long) (a1), (long) (a2),		\
++			 (long) (a3), (long) (a4),			\
++			 (long) (number))
+ 
+-long long __nomips16 __mips16_syscall6 (long a0, long a1, long a2, long a3,
+-					long a4, long a5,
+-					long number);
+ #define __mips16_syscall6(a0, a1, a2, a3, a4, a5, number)		\
+-	__mips16_syscall6 ((long) (a0), (long) (a1), (long) (a2),	\
+-			   (long) (a3), (long) (a4), (long) (a5),	\
+-			   (long) (number))
++	__mips_syscall6 ((long) (a0), (long) (a1), (long) (a2),		\
++			 (long) (a3), (long) (a4), (long) (a5),		\
++			 (long) (number))
+ 
+-long long __nomips16 __mips16_syscall7 (long a0, long a1, long a2, long a3,
+-					long a4, long a5, long a6,
+-					long number);
+ #define __mips16_syscall7(a0, a1, a2, a3, a4, a5, a6, number)		\
+-	__mips16_syscall7 ((long) (a0), (long) (a1), (long) (a2),	\
+-			   (long) (a3), (long) (a4), (long) (a5),	\
+-			   (long) (a6),					\
+-			   (long) (number))
++	__mips_syscall7 ((long) (a0), (long) (a1), (long) (a2),		\
++			 (long) (a3), (long) (a4), (long) (a5),		\
++			 (long) (a6),					\
++			 (long) (number))
+ 
+ #endif
+diff --git a/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall0.c b/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall0.c
+index 490245b34e..51d9469282 100644
+--- a/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall0.c
++++ b/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall0.c
+@@ -17,14 +17,13 @@
+    <http://www.gnu.org/licenses/>.  */
+ 
+ #include <sysdep.h>
+-#include <mips16-syscall.h>
+ 
+ #undef __mips16_syscall0
+ 
+ long long __nomips16
+ __mips16_syscall0 (long number)
+ {
+-  union __mips16_syscall_return ret;
++  union __mips_syscall_return ret;
+   ret.reg.v0 = INTERNAL_SYSCALL_MIPS16 (number, ret.reg.v1, 0);
+   return ret.val;
+ }
+diff --git a/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall1.c b/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall1.c
+index 3061e8accb..13d57a78aa 100644
+--- a/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall1.c
++++ b/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall1.c
+@@ -17,7 +17,6 @@
+    <http://www.gnu.org/licenses/>.  */
+ 
+ #include <sysdep.h>
+-#include <mips16-syscall.h>
+ 
+ #undef __mips16_syscall1
+ 
+@@ -25,7 +24,7 @@ long long __nomips16
+ __mips16_syscall1 (long a0,
+ 		   long number)
+ {
+-  union __mips16_syscall_return ret;
++  union __mips_syscall_return ret;
+   ret.reg.v0 = INTERNAL_SYSCALL_MIPS16 (number, ret.reg.v1, 1,
+ 					a0);
+   return ret.val;
+diff --git a/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall2.c b/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall2.c
+index 440a4ed285..6e0e8d5bb5 100644
+--- a/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall2.c
++++ b/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall2.c
+@@ -17,7 +17,6 @@
+    <http://www.gnu.org/licenses/>.  */
+ 
+ #include <sysdep.h>
+-#include <mips16-syscall.h>
+ 
+ #undef __mips16_syscall2
+ 
+@@ -25,7 +24,7 @@ long long __nomips16
+ __mips16_syscall2 (long a0, long a1,
+ 		   long number)
+ {
+-  union __mips16_syscall_return ret;
++  union __mips_syscall_return ret;
+   ret.reg.v0 = INTERNAL_SYSCALL_MIPS16 (number, ret.reg.v1, 2,
+ 					a0, a1);
+   return ret.val;
+diff --git a/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall3.c b/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall3.c
+index c3f83fc1f6..6bd6b8222b 100644
+--- a/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall3.c
++++ b/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall3.c
+@@ -17,7 +17,6 @@
+    <http://www.gnu.org/licenses/>.  */
+ 
+ #include <sysdep.h>
+-#include <mips16-syscall.h>
+ 
+ #undef __mips16_syscall3
+ 
+@@ -25,7 +24,7 @@ long long __nomips16
+ __mips16_syscall3 (long a0, long a1, long a2,
+ 		   long number)
+ {
+-  union __mips16_syscall_return ret;
++  union __mips_syscall_return ret;
+   ret.reg.v0 = INTERNAL_SYSCALL_MIPS16 (number, ret.reg.v1, 3,
+ 					a0, a1, a2);
+   return ret.val;
+diff --git a/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall4.c b/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall4.c
+index 496297d296..3847e4bc25 100644
+--- a/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall4.c
++++ b/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall4.c
+@@ -17,7 +17,6 @@
+    <http://www.gnu.org/licenses/>.  */
+ 
+ #include <sysdep.h>
+-#include <mips16-syscall.h>
+ 
+ #undef __mips16_syscall4
+ 
+@@ -25,7 +24,7 @@ long long __nomips16
+ __mips16_syscall4 (long a0, long a1, long a2, long a3,
+ 		   long number)
+ {
+-  union __mips16_syscall_return ret;
++  union __mips_syscall_return ret;
+   ret.reg.v0 = INTERNAL_SYSCALL_MIPS16 (number, ret.reg.v1, 4,
+ 					a0, a1, a2, a3);
+   return ret.val;
+diff --git a/sysdeps/unix/sysv/linux/mips/mips32/sysdep.h b/sysdeps/unix/sysv/linux/mips/mips32/sysdep.h
+index e9e3ee7e82..dadfa18de8 100644
+--- a/sysdeps/unix/sysv/linux/mips/mips32/sysdep.h
++++ b/sysdeps/unix/sysv/linux/mips/mips32/sysdep.h
+@@ -98,6 +98,19 @@
+ #undef INTERNAL_SYSCALL
+ #undef INTERNAL_SYSCALL_NCS
+ 
++#define __nomips16 __attribute__ ((nomips16))
++
++union __mips_syscall_return
++  {
++    long long val;
++    struct
++      {
++	long v0;
++	long v1;
++      }
++    reg;
++  };
++
+ #ifdef __mips16
+ /* There's no MIPS16 syscall instruction, so we go through out-of-line
+    standard MIPS wrappers.  These do use inline snippets below though,
+@@ -112,7 +125,7 @@
+ 
+ # define INTERNAL_SYSCALL_NCS(number, err, nr, args...)			\
+ ({									\
+-	union __mips16_syscall_return _sc_ret;				\
++	union __mips_syscall_return _sc_ret;				\
+ 	_sc_ret.val = __mips16_syscall##nr (args, number);		\
+ 	err = _sc_ret.reg.v1;						\
+ 	_sc_ret.reg.v0;							\
+@@ -121,13 +134,13 @@
+ # define INTERNAL_SYSCALL_MIPS16(number, err, nr, args...)		\
+ 	internal_syscall##nr ("lw\t%0, %2\n\t",				\
+ 			      "R" (number),				\
+-			      0, err, args)
++			      number, err, args)
+ 
+ #else /* !__mips16 */
+ # define INTERNAL_SYSCALL(name, err, nr, args...)			\
+ 	internal_syscall##nr ("li\t%0, %2\t\t\t# " #name "\n\t",	\
+ 			      "IK" (SYS_ify (name)),			\
+-			      0, err, args)
++			      SYS_ify (name), err, args)
+ 
+ # define INTERNAL_SYSCALL_NCS(number, err, nr, args...)			\
+ 	internal_syscall##nr (MOVE32 "\t%0, %2\n\t",			\
+@@ -262,110 +275,74 @@
+ 	_sys_result;							\
+ })
+ 
+-/* We need to use a frame pointer for the functions in which we
+-   adjust $sp around the syscall, or debug information and unwind
+-   information will be $sp relative and thus wrong during the syscall.  As
+-   of GCC 4.7, this is sufficient.  */
+-#define FORCE_FRAME_POINTER						\
+-  void *volatile __fp_force __attribute__ ((unused)) = alloca (4)
++/* Standalone MIPS wrappers used for 5, 6, and 7 argument syscalls,
++   which require stack arguments.  We rely on the compiler arranging
++   wrapper's arguments according to the MIPS o32 function calling
++   convention, which is reused by syscalls, except for the syscall
++   number passed and the error flag returned (taken care of in the
++   wrapper called).  This relieves us from relying on non-guaranteed
++   compiler specifics required for the stack arguments to be pushed,
++   which would be the case if these syscalls were inlined.  */
++
++long long __nomips16 __mips_syscall5 (long arg1, long arg2, long arg3,
++				      long arg4, long arg5,
++				      long number);
++libc_hidden_proto (__mips_syscall5, nomips16)
+ 
+ #define internal_syscall5(v0_init, input, number, err,			\
+ 			  arg1, arg2, arg3, arg4, arg5)			\
+ ({									\
+-	long _sys_result;						\
+-									\
+-	FORCE_FRAME_POINTER;						\
+-	{								\
+-	register long __s0 asm ("$16") __attribute__ ((unused))		\
+-	  = (number);							\
+-	register long __v0 asm ("$2");					\
+-	register long __a0 asm ("$4") = (long) (arg1);			\
+-	register long __a1 asm ("$5") = (long) (arg2);			\
+-	register long __a2 asm ("$6") = (long) (arg3);			\
+-	register long __a3 asm ("$7") = (long) (arg4);			\
+-	__asm__ volatile (						\
+-	".set\tnoreorder\n\t"						\
+-	"subu\t$29, 32\n\t"						\
+-	"sw\t%6, 16($29)\n\t"						\
+-	v0_init								\
+-	"syscall\n\t"							\
+-	"addiu\t$29, 32\n\t"						\
+-	".set\treorder"							\
+-	: "=r" (__v0), "+r" (__a3)					\
+-	: input, "r" (__a0), "r" (__a1), "r" (__a2),			\
+-	  "r" ((long) (arg5))						\
+-	: __SYSCALL_CLOBBERS);						\
+-	err = __a3;							\
+-	_sys_result = __v0;						\
+-	}								\
+-	_sys_result;							\
++	union __mips_syscall_return _sc_ret;				\
++	_sc_ret.val = __mips_syscall5 ((long) (arg1),			\
++				       (long) (arg2),			\
++				       (long) (arg3),			\
++				       (long) (arg4),			\
++				       (long) (arg5),			\
++				       (long) (number));		\
++	err = _sc_ret.reg.v1;						\
++	_sc_ret.reg.v0;							\
+ })
+ 
++long long __nomips16 __mips_syscall6 (long arg1, long arg2, long arg3,
++				      long arg4, long arg5, long arg6,
++				      long number);
++libc_hidden_proto (__mips_syscall6, nomips16)
++
+ #define internal_syscall6(v0_init, input, number, err,			\
+ 			  arg1, arg2, arg3, arg4, arg5, arg6)		\
+ ({									\
+-	long _sys_result;						\
+-									\
+-	FORCE_FRAME_POINTER;						\
+-	{								\
+-	register long __s0 asm ("$16") __attribute__ ((unused))		\
+-	  = (number);							\
+-	register long __v0 asm ("$2");					\
+-	register long __a0 asm ("$4") = (long) (arg1);			\
+-	register long __a1 asm ("$5") = (long) (arg2);			\
+-	register long __a2 asm ("$6") = (long) (arg3);			\
+-	register long __a3 asm ("$7") = (long) (arg4);			\
+-	__asm__ volatile (						\
+-	".set\tnoreorder\n\t"						\
+-	"subu\t$29, 32\n\t"						\
+-	"sw\t%6, 16($29)\n\t"						\
+-	"sw\t%7, 20($29)\n\t"						\
+-	v0_init								\
+-	"syscall\n\t"							\
+-	"addiu\t$29, 32\n\t"						\
+-	".set\treorder"							\
+-	: "=r" (__v0), "+r" (__a3)					\
+-	: input, "r" (__a0), "r" (__a1), "r" (__a2),			\
+-	  "r" ((long) (arg5)), "r" ((long) (arg6))			\
+-	: __SYSCALL_CLOBBERS);						\
+-	err = __a3;							\
+-	_sys_result = __v0;						\
+-	}								\
+-	_sys_result;							\
++	union __mips_syscall_return _sc_ret;				\
++	_sc_ret.val = __mips_syscall6 ((long) (arg1),			\
++				       (long) (arg2),			\
++				       (long) (arg3),			\
++				       (long) (arg4),			\
++				       (long) (arg5),			\
++				       (long) (arg6),			\
++				       (long) (number));		\
++	err = _sc_ret.reg.v1;						\
++	_sc_ret.reg.v0;							\
+ })
+ 
++long long __nomips16 __mips_syscall7 (long arg1, long arg2, long arg3,
++				      long arg4, long arg5, long arg6,
++				      long arg7,
++				      long number);
++libc_hidden_proto (__mips_syscall7, nomips16)
++
+ #define internal_syscall7(v0_init, input, number, err,			\
+ 			  arg1, arg2, arg3, arg4, arg5, arg6, arg7)	\
+ ({									\
+-	long _sys_result;						\
+-									\
+-	FORCE_FRAME_POINTER;						\
+-	{								\
+-	register long __s0 asm ("$16") __attribute__ ((unused))		\
+-	  = (number);							\
+-	register long __v0 asm ("$2");					\
+-	register long __a0 asm ("$4") = (long) (arg1);			\
+-	register long __a1 asm ("$5") = (long) (arg2);			\
+-	register long __a2 asm ("$6") = (long) (arg3);			\
+-	register long __a3 asm ("$7") = (long) (arg4);			\
+-	__asm__ volatile (						\
+-	".set\tnoreorder\n\t"						\
+-	"subu\t$29, 32\n\t"						\
+-	"sw\t%6, 16($29)\n\t"						\
+-	"sw\t%7, 20($29)\n\t"						\
+-	"sw\t%8, 24($29)\n\t"						\
+-	v0_init								\
+-	"syscall\n\t"							\
+-	"addiu\t$29, 32\n\t"						\
+-	".set\treorder"							\
+-	: "=r" (__v0), "+r" (__a3)					\
+-	: input, "r" (__a0), "r" (__a1), "r" (__a2),			\
+-	  "r" ((long) (arg5)), "r" ((long) (arg6)), "r" ((long) (arg7))	\
+-	: __SYSCALL_CLOBBERS);						\
+-	err = __a3;							\
+-	_sys_result = __v0;						\
+-	}								\
+-	_sys_result;							\
++	union __mips_syscall_return _sc_ret;				\
++	_sc_ret.val = __mips_syscall7 ((long) (arg1),			\
++				       (long) (arg2),			\
++				       (long) (arg3),			\
++				       (long) (arg4),			\
++				       (long) (arg5),			\
++				       (long) (arg6),			\
++				       (long) (arg7),			\
++				       (long) (number));		\
++	err = _sc_ret.reg.v1;						\
++	_sc_ret.reg.v0;							\
+ })
+ 
+ #define __SYSCALL_CLOBBERS "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", \
diff --git a/debian/patches/mips/submitted-syscalls5-7-unbound-stack.diff b/debian/patches/mips/submitted-syscalls5-7-unbound-stack.diff
deleted file mode 100644
index 379fdef..0000000
--- a/debian/patches/mips/submitted-syscalls5-7-unbound-stack.diff
+++ /dev/null
@@ -1,936 +0,0 @@
-+2017-08-18  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
-+	    Aurelien Jarno <aurelien@aurel32.net>
-+
-+	[BZ #21956]
-+	* sysdeps/unix/sysv/linux/mips/mips32/Makefile [subdir = crypt]
-+	(libcrypt-sysdep_routines): Add libc-do-syscall.
-+	[subdir = elf] (sysdep-dl-routines): Likewise.
-+	[subdir = io] (sysdep_routines): Likewise.
-+	[subdir = nptl] (libpthread-sysdep_routines): Likewise.
-+	[subdir = nptl] (libpthread-shared-only-routines): Likewise.
-+	[subdir = nscd] (nscd-modules): Likewise.
-+	[subdir = nss] (libnss_db-sysdep_routines): Likewise.
-+	[subdir = nss] (libnss_db-shared-only-routines): Likewise.
-+	[subdir = resolv] (libanl-sysdep_routines): Likewise.
-+	[subdir = resolv] (libanl-shared-only-routines): Likewise.
-+	[subdir = rt] (librt-sysdep_routines): Likewise.
-+	[subdir = rt] (librt-shared-only-routines): Likewise.
-+	* sysdeps/unix/sysv/linux/mips/mips32/libc-do-syscall.S: New file.
-+	* sysdeps/unix/sysv/linux/mips/mips32/sysdep.h: [!__mips16]
-+	(INTERNAL_SYSCALL): Make code unconditional.
-+	[!__mips16] (INTERNAL_SYSCALL_NCS): Likewise.
-+	[__mips16] (INTERNAL_SYSCALL): Remove.
-+	[__mips16] (INTERNAL_SYSCALL_NCS): Likewise.
-+	(__nomips16): Define.
-+	(__libc_do_syscall_return): Likewise.
-+	[__mips16] (__libc_do_syscall0): Declare.
-+	[__mips16] (internal_syscall0): Define.
-+	[__mips16] (__libc_do_syscall1): Declare.
-+	[__mips16] (internal_syscall1): Define.
-+	[__mips16] (__libc_do_syscall2): Declare.
-+	[__mips16] (internal_syscall2): Define.
-+	[__mips16] (__libc_do_syscall3): Declare.
-+	[__mips16] (internal_syscall3): Define.
-+	[__mips16] (__libc_do_syscall4): Declare.
-+	[__mips16] (internal_syscall4): Define.
-+	(internal_syscall0): Guard with !__mips16.
-+	(internal_syscall1): Guard with !__mips16.
-+	(internal_syscall2): Guard with !__mips16.
-+	(internal_syscall3): Guard with !__mips16.
-+	(internal_syscall4): Guard with !__mips16.
-+	(FORCE_FRAME_POINTER): Remove.
-+	(internal_syscall5): Rewrite to call __libc_do_syscall5.
-+	(internal_syscall6): Rewrite to call __libc_do_syscall6.
-+	(internal_syscall7): Rewrite to call __libc_do_syscall7.
-+	* sysdeps/unix/sysv/linux/mips/mips32/mips16/Makefile: Remove file.
-+	* sysdeps/unix/sysv/linux/mips/mips32/mips16/Versions: Likewise.
-+	* sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall.h:
-+	  Likewise.
-+	* sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall0.c:
-+	  Likewise.
-+	* sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall1.c:
-+	  Likewise.
-+	* sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall2.c:
-+	  Likewise.
-+	* sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall3.c:
-+	  Likewise.
-+	* sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall4.c:
-+	  Likewise
-+	* sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall5.c:
-+	  Likewise.
-+	* sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall6.c:
-+	  Likewise.
-+	* sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall7.c:
-+	  Likewise.
-+
---- a/sysdeps/unix/sysv/linux/mips/mips32/Makefile
-+++ b/sysdeps/unix/sysv/linux/mips/mips32/Makefile
-@@ -0,0 +1,35 @@
-+ifeq ($(subdir),crypt)
-+libcrypt-sysdep_routines += libc-do-syscall
-+endif
-+
-+ifeq ($(subdir),elf)
-+sysdep-dl-routines += libc-do-syscall
-+endif
-+
-+ifeq ($(subdir),io)
-+sysdep_routines += libc-do-syscall
-+endif
-+
-+ifeq ($(subdir),nptl)
-+libpthread-sysdep_routines += libc-do-syscall
-+libpthread-shared-only-routines += libc-do-syscall
-+endif
-+
-+ifeq ($(subdir),nscd)
-+nscd-modules += libc-do-syscall
-+endif
-+
-+ifeq ($(subdir),nss)
-+libnss_db-sysdep_routines += libc-do-syscall
-+libnss_db-shared-only-routines += libc-do-syscall
-+endif
-+
-+ifeq ($(subdir),resolv)
-+libanl-sysdep_routines += libc-do-syscall
-+libanl-shared-only-routines += libc-do-syscall
-+endif
-+
-+ifeq ($(subdir),rt)
-+librt-sysdep_routines += libc-do-syscall
-+librt-shared-only-routines += libc-do-syscall
-+endif
---- /dev/null
-+++ b/sysdeps/unix/sysv/linux/mips/mips32/libc-do-syscall.S
-@@ -0,0 +1,105 @@
-+/* Copyright (C) 2017 Free Software Foundation, Inc.
-+   This file is part of the GNU C Library.
-+
-+   The GNU C Library is free software; you can redistribute it and/or
-+   modify it under the terms of the GNU Lesser General Public
-+   License as published by the Free Software Foundation; either
-+   version 2.1 of the License, or (at your option) any later version.
-+
-+   The GNU C Library is distributed in the hope that it will be useful,
-+   but WITHOUT ANY WARRANTY; without even the implied warranty of
-+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-+   Lesser General Public License for more details.
-+
-+   You should have received a copy of the GNU Lesser General Public
-+   License along with the GNU C Library.  If not, see
-+   <http://www.gnu.org/licenses/>.  */
-+
-+#include <sysdep.h>
-+#include <sys/asm.h>
-+
-+	.text
-+	.set    nomips16
-+
-+#ifdef __mips16
-+
-+/* long long __libc_do_syscall0 (long arg1, long number)  */
-+	.hidden __libc_do_syscall0
-+ENTRY(__libc_do_syscall0)
-+        move    v0, a0
-+        syscall
-+        move    v1, a3
-+        jr      ra
-+END(__libc_do_syscall0)
-+
-+
-+/* long long __libc_do_syscall1 (long arg1, long number)  */
-+	.hidden __libc_do_syscall1
-+ENTRY(__libc_do_syscall1)
-+        move    v0, a1
-+        syscall
-+        move    v1, a3
-+        jr      ra
-+END(__libc_do_syscall1)
-+
-+/* long long __libc_do_syscall2 (long arg1, long arg2, long number)  */
-+	.hidden __libc_do_syscall2
-+ENTRY(__libc_do_syscall2)
-+        move    v0, a2
-+        syscall
-+        move    v1, a3
-+        jr      ra
-+END(__libc_do_syscall2)
-+
-+/* long long __libc_do_syscall3 (long arg1, long arg2, long arg3,
-+				 long number)  */
-+	.hidden __libc_do_syscall3
-+ENTRY(__libc_do_syscall3)
-+        move    v0, a3
-+        syscall
-+        move    v1, a3
-+        jr      ra
-+END(__libc_do_syscall3)
-+
-+/* long long __libc_do_syscall4 (long arg1, long arg2, long arg3, long arg4,
-+				 long number)  */
-+	.hidden __libc_do_syscall4
-+ENTRY(__libc_do_syscall4)
-+        lw      v0, 16(sp)
-+        syscall
-+        move    v1, a3
-+        jr      ra
-+END(__libc_do_syscall4)
-+
-+#endif /* !__mips16 */
-+
-+/* long long __libc_do_syscall5 (long arg1, long arg2, long arg3, long arg4,
-+				 long arg5, long number)  */
-+	.hidden __libc_do_syscall5
-+ENTRY(__libc_do_syscall5)
-+        lw      v0, 20(sp)
-+        syscall
-+        move    v1, a3
-+        jr      ra
-+END(__libc_do_syscall5)
-+
-+/* long long __libc_do_syscall6 (long arg1, long arg2, long arg3, long arg4,
-+				 long arg5, long arg6, long number)  */
-+	.hidden __libc_do_syscall6
-+ENTRY(__libc_do_syscall6)
-+        lw      v0, 24(sp)
-+        syscall
-+        move    v1, a3
-+        jr      ra
-+END(__libc_do_syscall6)
-+
-+/* long long __libc_do_syscall7 (long arg1, long arg2, long arg3, long arg4,
-+				 long arg5, long arg6, long arg7,
-+				 long number)  */
-+	.hidden __libc_do_syscall7
-+ENTRY(__libc_do_syscall7)
-+        lw      v0, 28(sp)
-+        syscall
-+        move    v1, a3
-+        jr      ra
-+END(__libc_do_syscall7)
---- a/sysdeps/unix/sysv/linux/mips/mips32/mips16/Makefile
-+++ /dev/null
-@@ -1,13 +0,0 @@
--ifeq ($(subdir),misc)
--sysdep_routines += mips16-syscall0 mips16-syscall1 mips16-syscall2
--sysdep_routines += mips16-syscall3 mips16-syscall4 mips16-syscall5
--sysdep_routines += mips16-syscall6 mips16-syscall7
--CFLAGS-mips16-syscall0.c += -fexceptions
--CFLAGS-mips16-syscall1.c += -fexceptions
--CFLAGS-mips16-syscall2.c += -fexceptions
--CFLAGS-mips16-syscall3.c += -fexceptions
--CFLAGS-mips16-syscall4.c += -fexceptions
--CFLAGS-mips16-syscall5.c += -fexceptions
--CFLAGS-mips16-syscall6.c += -fexceptions
--CFLAGS-mips16-syscall7.c += -fexceptions
--endif
---- a/sysdeps/unix/sysv/linux/mips/mips32/mips16/Versions
-+++ /dev/null
-@@ -1,6 +0,0 @@
--libc {
--  GLIBC_PRIVATE {
--    __mips16_syscall0; __mips16_syscall1; __mips16_syscall2; __mips16_syscall3;
--    __mips16_syscall4; __mips16_syscall5; __mips16_syscall6; __mips16_syscall7;
--  }
--}
---- a/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall.h
-+++ /dev/null
-@@ -1,89 +0,0 @@
--/* MIPS16 syscall wrappers.
--   Copyright (C) 2013-2017 Free Software Foundation, Inc.
--   This file is part of the GNU C Library.
--
--   The GNU C Library is free software; you can redistribute it and/or
--   modify it under the terms of the GNU Lesser General Public
--   License as published by the Free Software Foundation; either
--   version 2.1 of the License, or (at your option) any later version.
--
--   The GNU C Library is distributed in the hope that it will be useful,
--   but WITHOUT ANY WARRANTY; without even the implied warranty of
--   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
--   Lesser General Public License for more details.
--
--   You should have received a copy of the GNU Lesser General Public
--   License along with the GNU C Library; if not, see
--   <http://www.gnu.org/licenses/>.  */
--
--#ifndef MIPS16_SYSCALL_H
--#define MIPS16_SYSCALL_H 1
--
--#define __nomips16 __attribute__ ((nomips16))
--
--union __mips16_syscall_return
--  {
--    long long val;
--    struct
--      {
--	long v0;
--	long v1;
--      }
--    reg;
--  };
--
--long long __nomips16 __mips16_syscall0 (long number);
--#define __mips16_syscall0(dummy, number)				\
--	__mips16_syscall0 ((long) (number))
--
--long long __nomips16 __mips16_syscall1 (long a0,
--					long number);
--#define __mips16_syscall1(a0, number)					\
--	__mips16_syscall1 ((long) (a0),					\
--			   (long) (number))
--
--long long __nomips16 __mips16_syscall2 (long a0, long a1,
--					long number);
--#define __mips16_syscall2(a0, a1, number)				\
--	__mips16_syscall2 ((long) (a0), (long) (a1),			\
--			   (long) (number))
--
--long long __nomips16 __mips16_syscall3 (long a0, long a1, long a2,
--					long number);
--#define __mips16_syscall3(a0, a1, a2, number)				\
--	__mips16_syscall3 ((long) (a0), (long) (a1), (long) (a2),	\
--			   (long) (number))
--
--long long __nomips16 __mips16_syscall4 (long a0, long a1, long a2, long a3,
--					long number);
--#define __mips16_syscall4(a0, a1, a2, a3, number)			\
--	__mips16_syscall4 ((long) (a0), (long) (a1), (long) (a2),	\
--			   (long) (a3),					\
--			   (long) (number))
--
--long long __nomips16 __mips16_syscall5 (long a0, long a1, long a2, long a3,
--					long a4,
--					long number);
--#define __mips16_syscall5(a0, a1, a2, a3, a4, number)			\
--	__mips16_syscall5 ((long) (a0), (long) (a1), (long) (a2),	\
--			   (long) (a3), (long) (a4),			\
--			   (long) (number))
--
--long long __nomips16 __mips16_syscall6 (long a0, long a1, long a2, long a3,
--					long a4, long a5,
--					long number);
--#define __mips16_syscall6(a0, a1, a2, a3, a4, a5, number)		\
--	__mips16_syscall6 ((long) (a0), (long) (a1), (long) (a2),	\
--			   (long) (a3), (long) (a4), (long) (a5),	\
--			   (long) (number))
--
--long long __nomips16 __mips16_syscall7 (long a0, long a1, long a2, long a3,
--					long a4, long a5, long a6,
--					long number);
--#define __mips16_syscall7(a0, a1, a2, a3, a4, a5, a6, number)		\
--	__mips16_syscall7 ((long) (a0), (long) (a1), (long) (a2),	\
--			   (long) (a3), (long) (a4), (long) (a5),	\
--			   (long) (a6),					\
--			   (long) (number))
--
--#endif
---- a/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall0.c
-+++ /dev/null
-@@ -1,30 +0,0 @@
--/* MIPS16 syscall wrappers.
--   Copyright (C) 2013-2017 Free Software Foundation, Inc.
--   This file is part of the GNU C Library.
--
--   The GNU C Library is free software; you can redistribute it and/or
--   modify it under the terms of the GNU Lesser General Public
--   License as published by the Free Software Foundation; either
--   version 2.1 of the License, or (at your option) any later version.
--
--   The GNU C Library is distributed in the hope that it will be useful,
--   but WITHOUT ANY WARRANTY; without even the implied warranty of
--   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
--   Lesser General Public License for more details.
--
--   You should have received a copy of the GNU Lesser General Public
--   License along with the GNU C Library; if not, see
--   <http://www.gnu.org/licenses/>.  */
--
--#include <sysdep.h>
--#include <mips16-syscall.h>
--
--#undef __mips16_syscall0
--
--long long __nomips16
--__mips16_syscall0 (long number)
--{
--  union __mips16_syscall_return ret;
--  ret.reg.v0 = INTERNAL_SYSCALL_MIPS16 (number, ret.reg.v1, 0);
--  return ret.val;
--}
---- a/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall1.c
-+++ /dev/null
-@@ -1,32 +0,0 @@
--/* MIPS16 syscall wrappers.
--   Copyright (C) 2013-2017 Free Software Foundation, Inc.
--   This file is part of the GNU C Library.
--
--   The GNU C Library is free software; you can redistribute it and/or
--   modify it under the terms of the GNU Lesser General Public
--   License as published by the Free Software Foundation; either
--   version 2.1 of the License, or (at your option) any later version.
--
--   The GNU C Library is distributed in the hope that it will be useful,
--   but WITHOUT ANY WARRANTY; without even the implied warranty of
--   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
--   Lesser General Public License for more details.
--
--   You should have received a copy of the GNU Lesser General Public
--   License along with the GNU C Library; if not, see
--   <http://www.gnu.org/licenses/>.  */
--
--#include <sysdep.h>
--#include <mips16-syscall.h>
--
--#undef __mips16_syscall1
--
--long long __nomips16
--__mips16_syscall1 (long a0,
--		   long number)
--{
--  union __mips16_syscall_return ret;
--  ret.reg.v0 = INTERNAL_SYSCALL_MIPS16 (number, ret.reg.v1, 1,
--					a0);
--  return ret.val;
--}
---- a/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall2.c
-+++ /dev/null
-@@ -1,32 +0,0 @@
--/* MIPS16 syscall wrappers.
--   Copyright (C) 2013-2017 Free Software Foundation, Inc.
--   This file is part of the GNU C Library.
--
--   The GNU C Library is free software; you can redistribute it and/or
--   modify it under the terms of the GNU Lesser General Public
--   License as published by the Free Software Foundation; either
--   version 2.1 of the License, or (at your option) any later version.
--
--   The GNU C Library is distributed in the hope that it will be useful,
--   but WITHOUT ANY WARRANTY; without even the implied warranty of
--   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
--   Lesser General Public License for more details.
--
--   You should have received a copy of the GNU Lesser General Public
--   License along with the GNU C Library; if not, see
--   <http://www.gnu.org/licenses/>.  */
--
--#include <sysdep.h>
--#include <mips16-syscall.h>
--
--#undef __mips16_syscall2
--
--long long __nomips16
--__mips16_syscall2 (long a0, long a1,
--		   long number)
--{
--  union __mips16_syscall_return ret;
--  ret.reg.v0 = INTERNAL_SYSCALL_MIPS16 (number, ret.reg.v1, 2,
--					a0, a1);
--  return ret.val;
--}
---- a/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall3.c
-+++ /dev/null
-@@ -1,32 +0,0 @@
--/* MIPS16 syscall wrappers.
--   Copyright (C) 2013-2017 Free Software Foundation, Inc.
--   This file is part of the GNU C Library.
--
--   The GNU C Library is free software; you can redistribute it and/or
--   modify it under the terms of the GNU Lesser General Public
--   License as published by the Free Software Foundation; either
--   version 2.1 of the License, or (at your option) any later version.
--
--   The GNU C Library is distributed in the hope that it will be useful,
--   but WITHOUT ANY WARRANTY; without even the implied warranty of
--   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
--   Lesser General Public License for more details.
--
--   You should have received a copy of the GNU Lesser General Public
--   License along with the GNU C Library; if not, see
--   <http://www.gnu.org/licenses/>.  */
--
--#include <sysdep.h>
--#include <mips16-syscall.h>
--
--#undef __mips16_syscall3
--
--long long __nomips16
--__mips16_syscall3 (long a0, long a1, long a2,
--		   long number)
--{
--  union __mips16_syscall_return ret;
--  ret.reg.v0 = INTERNAL_SYSCALL_MIPS16 (number, ret.reg.v1, 3,
--					a0, a1, a2);
--  return ret.val;
--}
---- a/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall4.c
-+++ /dev/null
-@@ -1,32 +0,0 @@
--/* MIPS16 syscall wrappers.
--   Copyright (C) 2013-2017 Free Software Foundation, Inc.
--   This file is part of the GNU C Library.
--
--   The GNU C Library is free software; you can redistribute it and/or
--   modify it under the terms of the GNU Lesser General Public
--   License as published by the Free Software Foundation; either
--   version 2.1 of the License, or (at your option) any later version.
--
--   The GNU C Library is distributed in the hope that it will be useful,
--   but WITHOUT ANY WARRANTY; without even the implied warranty of
--   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
--   Lesser General Public License for more details.
--
--   You should have received a copy of the GNU Lesser General Public
--   License along with the GNU C Library; if not, see
--   <http://www.gnu.org/licenses/>.  */
--
--#include <sysdep.h>
--#include <mips16-syscall.h>
--
--#undef __mips16_syscall4
--
--long long __nomips16
--__mips16_syscall4 (long a0, long a1, long a2, long a3,
--		   long number)
--{
--  union __mips16_syscall_return ret;
--  ret.reg.v0 = INTERNAL_SYSCALL_MIPS16 (number, ret.reg.v1, 4,
--					a0, a1, a2, a3);
--  return ret.val;
--}
---- a/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall5.c
-+++ /dev/null
-@@ -1,33 +0,0 @@
--/* MIPS16 syscall wrappers.
--   Copyright (C) 2013-2017 Free Software Foundation, Inc.
--   This file is part of the GNU C Library.
--
--   The GNU C Library is free software; you can redistribute it and/or
--   modify it under the terms of the GNU Lesser General Public
--   License as published by the Free Software Foundation; either
--   version 2.1 of the License, or (at your option) any later version.
--
--   The GNU C Library is distributed in the hope that it will be useful,
--   but WITHOUT ANY WARRANTY; without even the implied warranty of
--   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
--   Lesser General Public License for more details.
--
--   You should have received a copy of the GNU Lesser General Public
--   License along with the GNU C Library; if not, see
--   <http://www.gnu.org/licenses/>.  */
--
--#include <sysdep.h>
--#include <mips16-syscall.h>
--
--#undef __mips16_syscall5
--
--long long __nomips16
--__mips16_syscall5 (long a0, long a1, long a2, long a3,
--		   long a4,
--		   long number)
--{
--  union __mips16_syscall_return ret;
--  ret.reg.v0 = INTERNAL_SYSCALL_MIPS16 (number, ret.reg.v1, 5,
--					a0, a1, a2, a3, a4);
--  return ret.val;
--}
---- a/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall6.c
-+++ /dev/null
-@@ -1,33 +0,0 @@
--/* MIPS16 syscall wrappers.
--   Copyright (C) 2013-2017 Free Software Foundation, Inc.
--   This file is part of the GNU C Library.
--
--   The GNU C Library is free software; you can redistribute it and/or
--   modify it under the terms of the GNU Lesser General Public
--   License as published by the Free Software Foundation; either
--   version 2.1 of the License, or (at your option) any later version.
--
--   The GNU C Library is distributed in the hope that it will be useful,
--   but WITHOUT ANY WARRANTY; without even the implied warranty of
--   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
--   Lesser General Public License for more details.
--
--   You should have received a copy of the GNU Lesser General Public
--   License along with the GNU C Library; if not, see
--   <http://www.gnu.org/licenses/>.  */
--
--#include <sysdep.h>
--#include <mips16-syscall.h>
--
--#undef __mips16_syscall6
--
--long long __nomips16
--__mips16_syscall6 (long a0, long a1, long a2, long a3,
--		   long a4, long a5,
--		   long number)
--{
--  union __mips16_syscall_return ret;
--  ret.reg.v0 = INTERNAL_SYSCALL_MIPS16 (number, ret.reg.v1, 6,
--					a0, a1, a2, a3, a4, a5);
--  return ret.val;
--}
---- a/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall7.c
-+++ /dev/null
-@@ -1,33 +0,0 @@
--/* MIPS16 syscall wrappers.
--   Copyright (C) 2013-2017 Free Software Foundation, Inc.
--   This file is part of the GNU C Library.
--
--   The GNU C Library is free software; you can redistribute it and/or
--   modify it under the terms of the GNU Lesser General Public
--   License as published by the Free Software Foundation; either
--   version 2.1 of the License, or (at your option) any later version.
--
--   The GNU C Library is distributed in the hope that it will be useful,
--   but WITHOUT ANY WARRANTY; without even the implied warranty of
--   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
--   Lesser General Public License for more details.
--
--   You should have received a copy of the GNU Lesser General Public
--   License along with the GNU C Library; if not, see
--   <http://www.gnu.org/licenses/>.  */
--
--#include <sysdep.h>
--#include <mips16-syscall.h>
--
--#undef __mips16_syscall7
--
--long long __nomips16
--__mips16_syscall7 (long a0, long a1, long a2, long a3,
--		   long a4, long a5, long a6,
--		   long number)
--{
--  union __mips16_syscall_return ret;
--  ret.reg.v0 = INTERNAL_SYSCALL_MIPS16 (number, ret.reg.v1, 7,
--					a0, a1, a2, a3, a4, a5, a6);
--  return ret.val;
--}
---- a/sysdeps/unix/sysv/linux/mips/mips32/sysdep.h
-+++ b/sysdeps/unix/sysv/linux/mips/mips32/sysdep.h
-@@ -98,45 +98,100 @@
- #undef INTERNAL_SYSCALL
- #undef INTERNAL_SYSCALL_NCS
- 
-+#define INTERNAL_SYSCALL(name, err, nr, args...)			\
-+	internal_syscall##nr ("li\t%0, %2\t\t\t# " #name "\n\t",	\
-+			      "IK" (SYS_ify (name)),			\
-+			      SYS_ify(name), err, args)
-+
-+#define INTERNAL_SYSCALL_NCS(number, err, nr, args...)			\
-+	internal_syscall##nr (MOVE32 "\t%0, %2\n\t",			\
-+			      "r" (__s0),				\
-+			      number, err, args)
-+
-+#define __nomips16 __attribute__ ((nomips16))
-+
-+union __libc_do_syscall_return
-+  {
-+    long long val;
-+    struct
-+      {
-+	long v0;
-+	long v1;
-+      }
-+    reg;
-+  };
-+
- #ifdef __mips16
--/* There's no MIPS16 syscall instruction, so we go through out-of-line
--   standard MIPS wrappers.  These do use inline snippets below though,
--   through INTERNAL_SYSCALL_MIPS16.  Spilling the syscall number to
--   memory gives the best code in that case, avoiding the need to save
--   and restore a static register.  */
-+/* There's no MIPS16 syscall instruction, so we always need to go through
-+   out-of-line standard MIPS wrappers.  */
-+
-+long long __nomips16 __libc_do_syscall0 (long number);
- 
--# include <mips16-syscall.h>
-+# define internal_syscall0(v0_init, input, number, err, dummy)		\
-+({									\
-+	union __libc_do_syscall_return _sys_result;			\
-+	_sys_result.val = __libc_do_syscall0 (number);			\
-+	err = _sys_result.reg.v1;					\
-+	_sys_result.reg.v0;						\
-+})
- 
--# define INTERNAL_SYSCALL(name, err, nr, args...)			\
--	INTERNAL_SYSCALL_NCS (SYS_ify (name), err, nr, args)
-+long long __nomips16 __libc_do_syscall1 (long arg1, long number);
- 
--# define INTERNAL_SYSCALL_NCS(number, err, nr, args...)			\
-+# define internal_syscall1(v0_init, input, number, err, arg1)		\
- ({									\
--	union __mips16_syscall_return _sc_ret;				\
--	_sc_ret.val = __mips16_syscall##nr (args, number);		\
--	err = _sc_ret.reg.v1;						\
--	_sc_ret.reg.v0;							\
-+	union __libc_do_syscall_return _sys_result;			\
-+	_sys_result.val = __libc_do_syscall1 ((long) (arg1),		\
-+					      number);			\
-+	err = _sys_result.reg.v1;					\
-+	_sys_result.reg.v0;						\
- })
- 
--# define INTERNAL_SYSCALL_MIPS16(number, err, nr, args...)		\
--	internal_syscall##nr ("lw\t%0, %2\n\t",				\
--			      "R" (number),				\
--			      0, err, args)
-+long long __nomips16 __libc_do_syscall2 (long arg1, long arg2, long number);
- 
--#else /* !__mips16 */
--# define INTERNAL_SYSCALL(name, err, nr, args...)			\
--	internal_syscall##nr ("li\t%0, %2\t\t\t# " #name "\n\t",	\
--			      "IK" (SYS_ify (name)),			\
--			      0, err, args)
-+# define internal_syscall2(v0_init, input, number, err, arg1, arg2)	\
-+({									\
-+	union __libc_do_syscall_return _sys_result;			\
-+	_sys_result.val = __libc_do_syscall2 ((long) (arg1),		\
-+					      (long) (arg2),		\
-+					      number);			\
-+	err = _sys_result.reg.v1;					\
-+	_sys_result.reg.v0;						\
-+})
- 
--# define INTERNAL_SYSCALL_NCS(number, err, nr, args...)			\
--	internal_syscall##nr (MOVE32 "\t%0, %2\n\t",			\
--			      "r" (__s0),				\
--			      number, err, args)
-+long long __nomips16 __libc_do_syscall3 (long arg1, long arg2, long arg3,
-+					 long number);
- 
--#endif /* !__mips16 */
-+# define internal_syscall3(v0_init, input, number, err,			\
-+			   arg1, arg2, arg3)				\
-+({									\
-+	union __libc_do_syscall_return _sys_result;			\
-+	_sys_result.val = __libc_do_syscall3 ((long) (arg1),		\
-+					      (long) (arg2),		\
-+					      (long) (arg3),		\
-+					      number);			\
-+	err = _sys_result.reg.v1;					\
-+	_sys_result.reg.v0;						\
-+})
-+
-+long long __nomips16 __libc_do_syscall4 (long arg1, long arg2, long arg3,
-+					 long arg4, long number);
- 
--#define internal_syscall0(v0_init, input, number, err, dummy...)	\
-+# define internal_syscall4(v0_init, input, number, err,			\
-+			   arg1, arg2, arg3, arg4)			\
-+({									\
-+	union __libc_do_syscall_return _sys_result;			\
-+	_sys_result.val = __libc_do_syscall4 ((long) (arg1),		\
-+					      (long) (arg2),		\
-+					      (long) (arg3),		\
-+					      (long) (arg4),		\
-+					      number);			\
-+	err = _sys_result.reg.v1;					\
-+	_sys_result.reg.v0;						\
-+})
-+
-+#else /* !__mips16 */
-+
-+# define internal_syscall0(v0_init, input, number, err, dummy...)	\
- ({									\
- 	long _sys_result;						\
- 									\
-@@ -159,7 +214,7 @@
- 	_sys_result;							\
- })
- 
--#define internal_syscall1(v0_init, input, number, err, arg1)		\
-+# define internal_syscall1(v0_init, input, number, err, arg1)		\
- ({									\
- 	long _sys_result;						\
- 									\
-@@ -183,7 +238,7 @@
- 	_sys_result;							\
- })
- 
--#define internal_syscall2(v0_init, input, number, err, arg1, arg2)	\
-+# define internal_syscall2(v0_init, input, number, err, arg1, arg2)	\
- ({									\
- 	long _sys_result;						\
- 									\
-@@ -208,8 +263,8 @@
- 	_sys_result;							\
- })
- 
--#define internal_syscall3(v0_init, input, number, err,			\
--			  arg1, arg2, arg3)				\
-+# define internal_syscall3(v0_init, input, number, err,			\
-+			   arg1, arg2, arg3)				\
- ({									\
- 	long _sys_result;						\
- 									\
-@@ -235,8 +290,8 @@
- 	_sys_result;							\
- })
- 
--#define internal_syscall4(v0_init, input, number, err,			\
--			  arg1, arg2, arg3, arg4)			\
-+# define internal_syscall4(v0_init, input, number, err,			\
-+			   arg1, arg2, arg3, arg4)			\
- ({									\
- 	long _sys_result;						\
- 									\
-@@ -262,110 +317,65 @@
- 	_sys_result;							\
- })
- 
--/* We need to use a frame pointer for the functions in which we
--   adjust $sp around the syscall, or debug information and unwind
--   information will be $sp relative and thus wrong during the syscall.  As
--   of GCC 4.7, this is sufficient.  */
--#define FORCE_FRAME_POINTER						\
--  void *volatile __fp_force __attribute__ ((unused)) = alloca (4)
-+#endif /* !__mips16 */
-+
-+/* Out-of-line standard MIPS wrappers used for 5, 6, and 7 argument syscall
-+   which requires arguments in stack.  */
-+
-+long long __nomips16 __libc_do_syscall5 (long arg1, long arg2, long arg3,
-+					 long arg4, long arg5, long number);
- 
- #define internal_syscall5(v0_init, input, number, err,			\
- 			  arg1, arg2, arg3, arg4, arg5)			\
- ({									\
--	long _sys_result;						\
--									\
--	FORCE_FRAME_POINTER;						\
--	{								\
--	register long __s0 asm ("$16") __attribute__ ((unused))		\
--	  = (number);							\
--	register long __v0 asm ("$2");					\
--	register long __a0 asm ("$4") = (long) (arg1);			\
--	register long __a1 asm ("$5") = (long) (arg2);			\
--	register long __a2 asm ("$6") = (long) (arg3);			\
--	register long __a3 asm ("$7") = (long) (arg4);			\
--	__asm__ volatile (						\
--	".set\tnoreorder\n\t"						\
--	"subu\t$29, 32\n\t"						\
--	"sw\t%6, 16($29)\n\t"						\
--	v0_init								\
--	"syscall\n\t"							\
--	"addiu\t$29, 32\n\t"						\
--	".set\treorder"							\
--	: "=r" (__v0), "+r" (__a3)					\
--	: input, "r" (__a0), "r" (__a1), "r" (__a2),			\
--	  "r" ((long) (arg5))						\
--	: __SYSCALL_CLOBBERS);						\
--	err = __a3;							\
--	_sys_result = __v0;						\
--	}								\
--	_sys_result;							\
-+	union __libc_do_syscall_return _sys_result;			\
-+	_sys_result.val = __libc_do_syscall5 ((long) (arg1),		\
-+					      (long) (arg2),		\
-+					      (long) (arg3),		\
-+					      (long) (arg4),		\
-+					      (long) (arg5),		\
-+					      number);			\
-+	err = _sys_result.reg.v1;					\
-+	_sys_result.reg.v0;						\
- })
- 
-+long long __nomips16 __libc_do_syscall6 (long arg1, long arg2, long arg3,
-+					 long arg4, long arg5, long arg6,
-+					 long number);
-+
- #define internal_syscall6(v0_init, input, number, err,			\
- 			  arg1, arg2, arg3, arg4, arg5, arg6)		\
- ({									\
--	long _sys_result;						\
--									\
--	FORCE_FRAME_POINTER;						\
--	{								\
--	register long __s0 asm ("$16") __attribute__ ((unused))		\
--	  = (number);							\
--	register long __v0 asm ("$2");					\
--	register long __a0 asm ("$4") = (long) (arg1);			\
--	register long __a1 asm ("$5") = (long) (arg2);			\
--	register long __a2 asm ("$6") = (long) (arg3);			\
--	register long __a3 asm ("$7") = (long) (arg4);			\
--	__asm__ volatile (						\
--	".set\tnoreorder\n\t"						\
--	"subu\t$29, 32\n\t"						\
--	"sw\t%6, 16($29)\n\t"						\
--	"sw\t%7, 20($29)\n\t"						\
--	v0_init								\
--	"syscall\n\t"							\
--	"addiu\t$29, 32\n\t"						\
--	".set\treorder"							\
--	: "=r" (__v0), "+r" (__a3)					\
--	: input, "r" (__a0), "r" (__a1), "r" (__a2),			\
--	  "r" ((long) (arg5)), "r" ((long) (arg6))			\
--	: __SYSCALL_CLOBBERS);						\
--	err = __a3;							\
--	_sys_result = __v0;						\
--	}								\
--	_sys_result;							\
-+	union __libc_do_syscall_return _sys_result;			\
-+	_sys_result.val = __libc_do_syscall6 ((long) (arg1),		\
-+					      (long) (arg2),		\
-+					      (long) (arg3),		\
-+					      (long) (arg4),		\
-+					      (long) (arg5),		\
-+					      (long) (arg6),		\
-+					      number);			\
-+	err = _sys_result.reg.v1;					\
-+	_sys_result.reg.v0;						\
- })
- 
-+long long __nomips16 __libc_do_syscall7 (long arg1, long arg2, long arg3,
-+					 long arg4, long arg5, long arg6,
-+					 long arg7, long number);
-+
- #define internal_syscall7(v0_init, input, number, err,			\
- 			  arg1, arg2, arg3, arg4, arg5, arg6, arg7)	\
- ({									\
--	long _sys_result;						\
--									\
--	FORCE_FRAME_POINTER;						\
--	{								\
--	register long __s0 asm ("$16") __attribute__ ((unused))		\
--	  = (number);							\
--	register long __v0 asm ("$2");					\
--	register long __a0 asm ("$4") = (long) (arg1);			\
--	register long __a1 asm ("$5") = (long) (arg2);			\
--	register long __a2 asm ("$6") = (long) (arg3);			\
--	register long __a3 asm ("$7") = (long) (arg4);			\
--	__asm__ volatile (						\
--	".set\tnoreorder\n\t"						\
--	"subu\t$29, 32\n\t"						\
--	"sw\t%6, 16($29)\n\t"						\
--	"sw\t%7, 20($29)\n\t"						\
--	"sw\t%8, 24($29)\n\t"						\
--	v0_init								\
--	"syscall\n\t"							\
--	"addiu\t$29, 32\n\t"						\
--	".set\treorder"							\
--	: "=r" (__v0), "+r" (__a3)					\
--	: input, "r" (__a0), "r" (__a1), "r" (__a2),			\
--	  "r" ((long) (arg5)), "r" ((long) (arg6)), "r" ((long) (arg7))	\
--	: __SYSCALL_CLOBBERS);						\
--	err = __a3;							\
--	_sys_result = __v0;						\
--	}								\
--	_sys_result;							\
-+	union __libc_do_syscall_return _sys_result;			\
-+	_sys_result.val = __libc_do_syscall7 ((long) (arg1),		\
-+					      (long) (arg2),		\
-+					      (long) (arg3),		\
-+					      (long) (arg4),		\
-+					      (long) (arg5),		\
-+					      (long) (arg6),		\
-+					      (long) (arg7),		\
-+					      number);			\
-+	err = _sys_result.reg.v1;					\
-+	_sys_result.reg.v0;						\
- })
- 
- #define __SYSCALL_CLOBBERS "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", \
diff --git a/debian/patches/series b/debian/patches/series
index 56a19b8..8529236 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -156,7 +156,7 @@ m68k/local-reloc.diff
 m68k/submitted-gcc34-seccomment.diff
 
 mips/submitted-rld_map.diff
-mips/submitted-syscalls5-7-unbound-stack.diff
+mips/git-syscalls5-7-unbound-stack.diff
 
 powerpc/local-powerpc8xx-dcbz.diff
 powerpc/submitted-tst-tlsopt-powerpc.diff

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-glibc/glibc.git


Reply to: