The cirros image was rebuilt against the 3.13.0-83 kernel, drivers e1000e, igbvf...
[packages/trusty/cirros-testvm.git] / cirros-testvm / src-cirros / buildroot-2015.05 / package / uclibc / 0.9.33.2 / 0023-MIPS-Convert-__syscall_error-callers-to-use-a0-for-a.patch
diff --git a/cirros-testvm/src-cirros/buildroot-2015.05/package/uclibc/0.9.33.2/0023-MIPS-Convert-__syscall_error-callers-to-use-a0-for-a.patch b/cirros-testvm/src-cirros/buildroot-2015.05/package/uclibc/0.9.33.2/0023-MIPS-Convert-__syscall_error-callers-to-use-a0-for-a.patch
new file mode 100644 (file)
index 0000000..7103f59
--- /dev/null
@@ -0,0 +1,57 @@
+From 6e2dbd7387bc2381e08aa85d6d33bb2d2d140843 Mon Sep 17 00:00:00 2001
+From: Kevin Cernekee <cernekee@gmail.com>
+Date: Tue, 5 Jun 2012 15:05:19 -0700
+Subject: [PATCH] MIPS: Convert __syscall_error() callers to use $a0 for
+ argument
+
+Some callers passed the first argument in $v0, while others used $a0.
+Change the callers to use $a0 consistently.
+
+Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
+Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
+---
+ libc/sysdeps/linux/mips/vfork.S                                      |    1 +
+ .../linuxthreads/sysdeps/unix/sysv/linux/mips/mips64/sysdep-cancel.h |    2 +-
+ libpthread/linuxthreads/sysdeps/unix/sysv/linux/mips/vfork.S         |    1 +
+ 3 files changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/libc/sysdeps/linux/mips/vfork.S b/libc/sysdeps/linux/mips/vfork.S
+index b307447..00cc675 100644
+--- a/libc/sysdeps/linux/mips/vfork.S
++++ b/libc/sysdeps/linux/mips/vfork.S
+@@ -84,6 +84,7 @@ NESTED(__vfork,FRAMESZ,sp)
+       /* Something bad happened -- no child created.  */
+ L(error):
++      move    a0, v0
+ #ifdef __PIC__
+       PTR_LA          t9, __syscall_error
+       RESTORE_GP64
+diff --git a/libpthread/linuxthreads/sysdeps/unix/sysv/linux/mips/mips64/sysdep-cancel.h b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/mips/mips64/sysdep-cancel.h
+index fc51774..4d2c405 100644
+--- a/libpthread/linuxthreads/sysdeps/unix/sysv/linux/mips/mips64/sysdep-cancel.h
++++ b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/mips/mips64/sysdep-cancel.h
+@@ -31,7 +31,7 @@
+ # undef PSEUDO
+ # define PSEUDO(name, syscall_name, args)                                   \
+   .align 2;                                                                 \
+-  99:                                                                       \
++  99: move a0, v0;                                                          \
+   PTR_LA t9,__syscall_error;                                                \
+   /* manual cpreturn.  */                                                   \
+   REG_L gp, STKOFF_GP(sp);                                                  \
+diff --git a/libpthread/linuxthreads/sysdeps/unix/sysv/linux/mips/vfork.S b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/mips/vfork.S
+index 7bbab5c..238d798 100644
+--- a/libpthread/linuxthreads/sysdeps/unix/sysv/linux/mips/vfork.S
++++ b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/mips/vfork.S
+@@ -80,6 +80,7 @@ NESTED(__vfork,FRAMESZ,sp)
+       /* Something bad happened -- no child created.  */
+ L(error):
++      move            a0, v0
+ #ifdef __PIC__
+       PTR_LA          t9, __syscall_error
+       RESTORE_GP64
+-- 
+1.7.10.4
+